技术开发 频道

基于ASP.NET AJAX框架实现表单验证编程(实践篇)


   再下来是我们使用上篇中建议的思路定义了几个常规回调函数SetDefaultLoginCompletedCallBack,SetDefaultLogoutCompletedCallBack和SetDefaultFailedCallBack,分别相应于登录完成后、注销完成后及前面两种情况下发生错误时要调用的回调函数。

   下面让我们简单地分析第一个回调函数的实现。
function SetDefaultLoginCompletedCallBack() 
{
Sys.Services.AuthenticationService.set_defaultLoginCompletedCallback(OnLoginCompleted);

var callBack = Sys.Services.AuthenticationService.get_defaultLoginCompletedCallback();
}
   第一句设置登录完成后要调用的回调函数——onLoginCompleted()。第二句作用是使用完回调函数最后进行简单“回收”,即清理掉前面的回调函数(置为null)。

   下面相应于回调函数onLoginCompleted的实现代码:
function OnLoginCompleted(validCredentials,
userContext, methodName)
{
password.value = "";
if (validCredentials == true)
{
username.value = "";
buttonLogin.style.visibility = "hidden";
usernameEntry.style.visibility = "hidden";
passwordEntry.style.visibility = "hidden";
textNotLoggedIn.style.visibility = "hidden";
buttonLogout.style.visibility = "visible";
textLoggedIn.style.visibility = "visible";
DisplayInformation("");
}
else
{
textLoggedIn.style.visibility = "hidden";
textNotLoggedIn.style.visibility = "visible";
DisplayInformation(
"Login Credentials Invalid. Could not login");
}
}
    在此回调函数中,首先把屏幕上的口令域清空。然后,判断是否浏览器中存在相应的表单认证cookie数据。有的话,则说明登录成功。接下来,把屏幕上的用户名域清空并隐藏掉刚才的登录信息,并显示已经成功登录的提示(绿字部分)。如果登录失败则显示红字部分的提示,并在下方提示行中显示登录失败信息。

   注销完成的回调函数与调用失败时的回调函数与此非常类似。在此,我们不再作分析。

  “登录”按钮的click事件处理器函数的代码如下所示:
function OnClickLogin()
{
SetDefaultLoginCompletedCallBack();
SetDefaultLogoutCompletedCallBack();
SetDefaultFailedCallBack();
Sys.Services.AuthenticationService.login(username.value,
password.value, true,null,null,null,null,"User Context");
}

0
相关文章