Asp.net Ajax 註冊框架

iDotNetSpace發表於2009-04-27

      Asp.net通過驗證控制元件在客戶端實現一些註冊資訊的驗證,在驗證範圍上具有一定的限制。比如說使用者名稱是否重複,所有的使用者資訊是儲存在伺服器資料庫中,所以需要訪問伺服器,單純的驗證控制元件無法實現。按照普通的動態網頁的實現原理,客戶端提交資訊,伺服器端接收資訊進行相應的處理,再返回資料給客戶端,在註冊功能中無法實現無重新整理的註冊資訊實時驗證。

      Ajax提供客戶端與伺服器端的非同步資訊交換可以實現註冊資訊實時動態驗證。在這裡我們採用AjaxPro.Net框架,下面以使用者名稱驗證功能來說明:

1 UserRegister.aspx:


 

function VerifyUsername(name)
{
   UserRegister.GetReturnCode(name, IsUsernameExist_callback);
}
UserRegister為註冊頁面名稱,GetReturnCode為後臺C#程式碼

引數name為當前編輯框中輸入的使用者名稱,IsUsernameExist_callback為處理GetReturnCode返回資訊的函式。

 

Code
function IsUsernameExist_callback(res)
       {
            var msg = document.getElementById("");//lblMsgUserName:顯示驗證資訊
            var bRet = res.value;//提取伺服器端返回的值
         
            switch(bRet)//根據返回的值顯示相應的驗證資訊
            {
                case "Valid":
                    msg.innerHTML = '輸入合法';
                    break;
                case "Exist":
                    msg.innerHTML = '使用者名稱已存在,請使用其他登陸使用者名稱!';
                    break;
                case "NoValid":
                    msg.innerHTML = '使用者名稱長度必須在3到15之間!';
                    break;
                case "Empty":
                    msg.innerHTML = '不能為空!';
                    break;
            }  
       }
2 UserRegister.aspx.cs:

Code
 [AjaxPro.AjaxMethod]//AjaxPro.Net方法宣告
    public string GetReturnCode(string strVal)
    {
        if (strVal.Equals(string.Empty))
        {
            return "Empty";
        }
        else if (!IsValidUsername(strVal))//驗證使用者名稱輸入格式
        {
            return "NoValid";
        }
        else if (IsUsernameExist(strVal))//驗證資料庫中是否存在此使用者名稱
        {
            return "Exist";
        }
        else
        {
            return "Valid";//合法
        }                   
    }

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-591958/,如需轉載,請註明出處,否則將追究法律責任。

相關文章