技术开发 频道

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


七、 创建示例AJAX网站

    启动Visual Studio 2005,选择“文件→新建网站…”,然后选择“ASP.NET AJAX-Enabled Web Site”模板,命名工程为“AjaxAuthTest”,并选择C#作为内置支持语言,最后点击OK。注意,此后系统将自动加入对于程序集System.Web.Extensions.dll的引用(因其被自动加入到GAC中,所以默认情况下无法直接看到)。当然,你还会注意到,作为ASP.NET AJAX司令部的服务器控件ScriptManager被自动地添加到默认网页Default.aspx中。

   为了方便起见,我们直接把网页Default.aspx更名为本文中示例ASP.NET页面—MyAjaxAuthenticationService.aspx。下图3相应于这个页面的设计时刻屏幕快照。



    在用户初始进入到此页面(尚没有登录)时,显示“您已经注销了!”,而不显示“您已经登录了”的提示。此时,初始登录用户必须使用下面的两个文本框来输入用户名和密码信息,并提供了一个按钮“登录”,用于触发用户登录操作。下方的超级链接用于验证已经登录用户和匿名用户对于受保护子目录下网页default.aspx的访问权限。

    整个页面最下面的横线下面用于显示合法用法和非法用户登录过程中的一些信息,包括可能发生的异常。

八、 JavaScript编码部分

    分析完程序的用户接口部分,下面让我们开始JavaScript编码。
    右击示例网站添加一个JavaScript脚本文件,命名为Authentication.js。为了遵循模块化设计思想和有利于集中进行脚本调试,我们把所有有关JavaScript代码全部集中于此文件内。下面相应于这个文件的完整源码:
var usernameEntry;
//…………(省略)
var buttonLogout;

function pageLoad()
{
usernameEntry = $get("NameId");
passwordEntry = $get("PwdId");
username = $get("username");
password = $get("password");
textLoggedIn = $get("loggedin");
textNotLoggedIn = $get("notloggedin");
buttonLogin = $get("ButtonLogin");
buttonLogout = $get("ButtonLogout");
}

function SetDefaultLoginCompletedCallBack()
{
Sys.Services.AuthenticationService.set_defaultLoginCompletedCallback(OnLoginCompleted);
var callBack =
Sys.Services.AuthenticationService.get_defaultLoginCompletedCallback();
}
function SetDefaultLogoutCompletedCallBack()
{
Sys.Services.AuthenticationService.set_defaultLogoutCompletedCallback(OnLogoutCompleted);

var callBack =
Sys.Services.AuthenticationService.get_defaultLogoutCompletedCallback();
}
function SetDefaultFailedCallBack()
{
Sys.Services.AuthenticationService.set_defaultFailedCallback(OnFailed);
var callBack =
Sys.Services.AuthenticationService.get_defaultFailedCallback();
}
0
相关文章