實例需求:
利用Ajax技術實作一個頁面不刷新的,並且驗證一個使用者名稱是否被註冊過的過程。
要求:
在頁面中新增一個文字方塊標籤用於輸入使用者名,並新增一個按鈕用於提交使用者資料。驗證的結果直接印在頁面上。
操作步驟如下:
1) 開啟Visual Studio 2005建立一個網站
2) 在VS2005工具箱的HTML欄中新增一個 控制項及 控制項。
3) 在
中加入標籤,以便進行Ajax引擎的編寫,並在基本定義一個XMLHttpRequest對象,但是並不進行初始化操作。如下程式碼所示。var xmlhttp;
function xmlhttp =new ActiveXObject ("Microsoft.XMLHTTP");
//找到名為「Text1」的文字方塊
var name=document .getElementById ("Text1");
//查詢字串「name」傳送文字方塊中的資料到目標頁
xmlhttp.open(" Post","AjaxDemo_1.aspx?name="+name.value);
//設定伺服器回應返回時用於處理回應的函數名稱
//送達請求xmlhttp .send(null);}4) 新增OnMessageBack()函數的內容。代碼如下:function OnMessageBack() { if (xmlhttp .readystate==4&&xmlhttp .status==200) { { 將回傳的文字列印到頁面上 document .write (xmlhttp.responsetext 下面為Button1新增事件代碼,將其標籤修改為 6) 頁面中的Ajax引擎已經編寫完畢。在上碼中,大家可以看到該用戶名是透過一個名為「name」的查詢字串進行傳遞的,該查詢字串傳遞到伺服器後需要進行後台處理,因此,要對「AjaxDemo_1.aspx. cs」中的Page_Load方法加入一些ADO.NET程式碼。這裡的資料庫使用的是「Northwind」範例資料庫。程式碼如下所示。 protected void Page_Load(object sender, EventArgs e) { { SqlConnection con = new SqlConnection(" "); SqlCommand com.Parameters.Add("@CustomerID",SqlDbType.NChar,5).Value =name; con. Open(); int count = (int)com.ExecuteScalar();
if (count == 0)
{
Response.Write("<script>alert('該用戶可以用!');</script>");
}
else
{
Response.Write("<script>alert('該使用者已被佔用,請使用其他使用者名稱!');</script>");
}
}利用Response.Write()方法向客戶端發出回應後,客戶端的Ajax引擎就會截獲該回應流,並在我們事先定義的「OnMessageBack()」方法中處理。更多asp.net ajax 簡單實例 相關文章請關注PHP中文網!