ASP.NET AJAX客户端生命周期分析(实践篇)

http://tech.ddvip.com   2007年08月25日    社区交流

内容摘要:本文中,我们使用一个具体的例子针对ASP.NETAJAX客户端生命周期中涉及的主要事件引发的顺序给出了追踪分析。但此示例显然有其特殊性且仍嫌粗略,实际开发中宜结合具体问题作针对性分析,以图从根本上掌握ASP.NETAJAX客户端生命周期中引发的主要事件先后顺序及其间的逻辑关系。

  (三)创建客户端JavaScript文件—ClientEventTest.js

  在实际开发环境下,客户端页面内的JavaScript代码建议放于单独的.js文件内,既便于代码的统一管理也加强了软件的模块化建设。在本示例中创建这个脚本文件ClientEventTest.js别无它意,正是此目的。因这个文件内容相对较长,所以在此我们仅列出其中前面部分,如下所示:

var app = Sys.Application;
app.add_load(ApplicationLoad);
app.add_init(ApplicationInit);
app.add_disposing(ApplicationDisposing);
app.add_unload(ApplicationUnload);
function ApplicationInit(sender) {
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (!prm.get_isInAsyncPostBack())
{
prm.add_initializeRequest(InitializeRequest);
prm.add_beginRequest(BeginRequest);
prm.add_pageLoading(PageLoading);
prm.add_pageLoaded(PageLoaded);
prm.add_endRequest(EndRequest);
}
$get('ClientEvents').innerHTML = "";
$get('ClientEvents').innerHTML += "APP:: Application init. <br/>";
}
function ApplicationLoad(sender, args) {
$get('ClientEvents').innerHTML += "APP:: Application load. ";
//…………(省略)

  代码虽长,但其中的逻辑相对比较简单。一开始,我们建立一个对象Application的实例。然后,我们把此Application对象的load,init,disposing和unload事件分别与特定的事件处理器函数关联起来。于是,在启动示例页面的过程中,将引发这些基本事件,也因而执行这些事件相应的事件处理器函数。

来源:51CTO.com    作者:朱先忠    责编:豆豆技术应用

正在加载评论...