<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Register</title>
<script type="text/javascript">
//聲明一個全局變量,用來保存XMLHttpRequest對象的引用(未初始化)
var xmlHttp = false;
//創建XMLHttpRequest對象函數
function GetXMLHttpRequest()
{
// 由於 XMLHttpRequest 對象在各個瀏覽器中實現機制不同,所以要綜合考慮
var xmlHttp = false;
//如果是Mozilla瀏覽器
if (!xmlHttp && typeof XMLHttpRequest != 'object') //undefined
{
xmlHttp = new XMLHttpRequest();
}
//如果是IE瀏覽器
else if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2)
{
xmlHttp = false;
}
}
}
return xmlHttp;
}
//當用戶名文本框失去輸入焦點時響應
function checkUserName()
{
// 檢查文本框是否有輸入
var txtUserName = document.getElementById('txtUserName');
if (txtUserName.value == "")
return;
xmlHttp = GetXMLHttpRequest();
// 構造將XMLHttpRequest對象將請求的服務器端的URL字符串
var url = "CheckUserName.aspx?UserName=" + txtUserName.value;
// 建立與服務器端的連接
xmlHttp.open("GET", url, true);
// 設置回調函數
xmlHttp.onreadystatechange = callBack_CheckUserName;
// 發送請求
xmlHttp.send(null);
}
//處理響應
function callBack_CheckUserName()
{
var lblMessage = document.getElementById("lblMessage");
// 4代表服務器端執行完畢並已經成功返回
if (4 == xmlHttp.readyState)
{
if(200 == xmlHttp.status)
{
//通過responseText屬性得到服務器端實際返回的文本
var isValid = xmlHttp.responseText;
//根據isValid的值決定lblNameMessage的顯示內容
lblMessage.innerHTML = (isValid.toLowerCase() == "true") ? "用戶名可用" : "用戶名已被註冊";
}
}
else
{
lblMessage.innerHTML = "數據查詢中...";
}
}
</script>
</HEAD>
<body>
<form method="post" action="">
<div>
用戶名:
<input type="text" id="txtUserName" name="txtUserName" οnblur="return checkUserName();"/>
<span id="lblMessage"></span><br>
密 碼:
<input type="password" id="txtPassword" name="txtPassword" /><br>
<input type="submit" id="btnRegister" name="btnRegister" value="註冊" />
</div>
</form>
</body>
</html>
CheckUserName.aspx.cs
C# codeusing System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class CheckUserName : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// 得到用戶選擇的用戶名
string username = Request.QueryString["UserName"];//Request["UserName"]
// 模擬驗證 實際應用中應查詢數據庫
bool isValid = false;
if (String.Compare(username, "amandag", true) != 0)
{
isValid = true;
}
Response.Clear();
Response.ContentType = "text/html";
Response.Write(isValid.ToString());
Response.End();
Response.Close();
}
}