asp.net ajax 簡單一實例

來源:互聯網
上載者:User
執行個體需求:

利用Ajax技術實現一個頁面不重新整理的,並且驗證一個使用者名稱是否被註冊過的過程。

要求:

在頁面中添加一個文字框標籤用於輸入使用者名稱,添加一個按鈕用於提交使用者資料。驗證的結果被直接列印在頁面上。

操作步驟如下:

1) 開啟Visual Studio 2005建立一個網站

2) 在VS2005工具箱的HTML欄中添加一個 控制項及 控制項。

3) 在<Head></Head>中加入<script type ="text/javascript"></script>標籤,以便進行Ajax引擎的編寫,並在基本定義一個XMLHttpRequest對象,但是並不進行初始化操作。如下代碼所示。

var xmlhttp;

function Validation()

{

//執行個體化XMLHttpRequest對象

xmlhttp =new ActiveXObject ("Microsoft.XMLHTTP");

//找到名為“Text1”的文字框

var name=document .getElementById ("Text1");

//利用Open方法向指定URL

//查詢字串“name”將文字框中的資料傳送到目標頁面

xmlhttp.open("Post","AjaxDemo_1.aspx?name="+name.value);

//設定當伺服器響應返回時用於處理響應的函數名

xmlhttp .onreadystatechange=OnMessageBack;

//送發請求

xmlhttp .send(null);

}

4) 添加OnMessageBack()函數的內容。代碼如下:

function OnMessageBack()

{

//判斷請求狀態及HTTP狀態是否都能滿足條件

if (xmlhttp .readystate==4&&xmlhttp .status==200)

{

//將返回的文本列印到頁面上

document .write (xmlhttp .responsetext);

}

}

5) 下面為Button1添加事件代碼,將其標籤修改為

<input id="Button1" type="button" value="button" onclick="Validation()" />

6) 頁面中的Ajax引擎已經編寫完畢。在上代碼中,大家可以看到該使用者名稱是通過一個名為“name”的查詢字串進行傳遞的,該查詢字串傳遞到伺服器後需要進行幕後處理,因此,要對“AjaxDemo_1.aspx.cs”中的Page_Load方法添加一些ADO.NET代碼。這裡的資料庫使用的是“Northwind”樣本資料庫。代碼如下所示。

protected void Page_Load(object sender, EventArgs e)

{

string name = Request.QueryString["name"];

if (name != null)

{

SqlConnection con = new SqlConnection("");

SqlCommand com = new SqlCommand();

com.CommandText = "";

com.Parameters.Add("@CustomerID",SqlDbType.NChar,5).Value =name;

con.Open();

int count = (int)com.ExecuteScalar();

con.Close();

if (count == 0)

{

Response.Write("<script>alert('該使用者可以用!');</script>");

}

else

{

Response.Write("<script>alert('該使用者已經被佔用,請使用其他使用者名稱!');</script>");

}

}

}

這裡要注意,當伺服器利用Response.Write()方法向用戶端發出響應後,用戶端的Ajax引擎就截獲該響應流,並在我們事先定義的“OnMessageBack()”方法中進行處理。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.