ASP.NET自動檢測使用者名稱是否註冊(利用AJAX技術)(在IE和Firefox運行通過)
design by hakuci
代碼下載
運行環境ASP.NET 2.0 , AJAX擴充包,SQLServer資料庫,配置好開發環境後才可以運行本例子代碼。
本代碼基於三層架構
在空的解決方案裡,添加項目:Model、DAL、BLL 、DBUtility和一個基於AJAX技術網站項目
Model 模型
包括:類DesingerInfo.cs 存放實體類,用於資料訪問層和邏輯層調用
DAL 資料訪問層
包括:類Desinger.cs 用於建立各種資料對象的方法,這裡有設定檔和反射的運用。
BLL 商務邏輯層
包括:類Desinger.cs 處理應用程式的商務邏輯,被展示層調用
DBUtility公用資料訪問層
包括:類SQLHelper.cs 實現具體的ExecuteReader,ExecuteDataTable,ExecuteNonQuery等
網站項目就是展示層:
資料庫表結構(本例子用到的只是第一個欄位)
建立頁面“Register.aspx”,添加控制項TextBox 和AJAX Extensions的UpDatePanel和UpdateProgress控制項
如:
控制項放入內容和設定屬性
UpDatePanel的內容
UpDatePanel的設定 添加非同步回送處理 控制項綁定到文字框,事件為文本改變時發生。
UpdateProgress的內容
UpdateProgress的屬性設定 綁定UpdatePanel
運行效果如下:(在IE和Firefox運行通過)
程式碼分析
/// <summary>
/// 設計師 檢測是否註冊 URL自動產生
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TxtName_TextChanged(object sender, EventArgs e)
{
BLL.Desinger bllData = new Desinger();//建立對象
if (bllData.Exists(this.TxtName.Text.Trim())) //判斷是否存在此使用者
{
this.LblCheckName.Text = "不允許註冊!";
this.LblCheckName.Visible = true;
}
else
{
this.LblCheckName.Text = "允許註冊!";
this.LblCheckName.Visible = true;
}
this.LabelURL.Text = "http://localhost/Designer/" + this.TxtName.Text;
}
代碼下載
design by hakuci
2008.4.22