日期:2010-03-25 浏览次数:20409 次
一、引言
在上篇中,我们对微软的ASP.NET AJAX框架的客户端生命周期过程作了理论上的分析。在本篇中,我们要结合一个具体示例针对页面的客户端生命周期期间有关重要事件的发生顺序进行剖析。
二、举例
(一)说明
下面的这个例子展示了在一个有两个嵌套的UpdatePanel控件的页面的客户端事件将被如何引发。请注意点击父面板中的按钮与内嵌的UpdatePanel控件中按钮之间的区别。在父面板中的按钮将引起父面板的更新,而嵌在内部的面板将被删除并重新创建。内嵌面板的按钮点击仅引起内嵌面板的更新。
(二)构建示例网站
启动Visual Studio 2005,选择“文件→新建网站…”,然后选择“ASP.NET AJAX-Enabled Web Site”模板,命名工程为“LifeCycleTest”,并选择C#作为内置支持语言,最后点击OK。
现在,按下图1所示布局修改缺省页面Default.aspx。
图1:示例页面设计时刻快照
在上面页面中,我们把两个服务器控件UpdatePanel进行嵌套。两个UpdatePanel中分别添加一个按钮以便进行事件引发顺序的测试之用。最下面用虚线框框出的是一个HTML <div>面板(名字为‘ClientEvents’),用于展示对于客户端事件引发顺序的追踪输出。下部的‘清除’按钮用于清除<div>面板ClientEvents中的内容。按钮‘整体页面回送’的点击事件对应于Default.aspx.cs文件内的函数FullPostBack_Click,这个函数不执行任何内容,仅用于引发整个页面回送测试之用。点击整个页面右下方的超级链接‘测试页面Unload事件’将导致本页面关闭而整个控制被转移到另一个新的页面(地址为http://www.microsoft.com);此链接用作测试页面的Unload事件之用。