sp;args.get_panelsCreated());
63
64 var message = "-->" updatedPanels "<br/>-->" createdPanels "<br/>";
65
66 document.getElementById("ClientEvents").innerHTML = message;
67}
68function EndRequest(sender, args) {
69 $get('ClientEvents').innerHTML = "PRM:: End of async request.<br/>";
70}
71
72// Helper functions.
73function Clear()
74{
75 $get('ClientEvents').innerHTML = "";
76}
77function printArray(name, arr)
78{
79 var panels = name '=' arr.length;
80 if(arr.length > 0)
81 {
82 panels = "(";
83 for(var i = 0; i < arr.length; i )
84 {
85 panels = arr[i].id ',';
86 }
87 panels = panels.substring(0, panels.length - 1);
88 panels = ")";
89 }
90 return panels;
91}
92
运行效果 查看代码
Event Order for Common Scenarios【一般事件发生顺序】
事件触发顺序还是要看在页面中使用了什么控件和发生了什么类型的请求(初始化请求,传统回送或是异步回送)。这部分将描述几种常见情景的事件请求顺序。
Initial Request 【初始化请求】
在一个页面初始化请求过程中,少量的客户端事件被引发。假设下面就是初始化请求的情景。
· 页面包括一个 ScriptManager 控件,并且该控件的 SupportsPartialRendering 和 EnablePartialRendering 属性都为 true。
· 请求是 GET 类型;
· 服务器能正常响应。
下面是客户端事件发生的顺序:
1、初始化请求发生给服务器。
2、客户端接收到响应。
3、Application 实例引发 init 事件。
4、Application 实例引发 load 事件。
初始化事件仅在整个页面生命周期过程中的应用程序实例化时发生一次。它不会被后来的异步回送所引发。在初始化请求(注意是请求)期间,没有任何的 PageRequestManager 事件被引发。
Asynchronous Postback 【异步回送】
一个异步回送发送了一些页面数据到服务器,并接收一个服务器端的响应,然后刷新页面的一部分。假定下面一个异步回送的场景:
· 页面包括一个 ScriptManager 控件,并且该控件的 SupportsPartialRendering 和 EnablePartialRendering 属性都为 true。
· 页面存在一个 UpdatePanel 控件,并且改控件的 ChildrenAsTriggers 属性值为 true。
· 在 UpdatePanel 里面有一个按钮用于引发异步回送。
· 成功地从服务器端获得响应。
下面是客户端事件发生的顺序:
1、点击 UpdatePanel 控件中的按钮时,引起了一个异步回送。
2、PageRequestManager 实例引发了 initializeRequest 事件。
3、PageRequestManager 实例引发了 beginRequest 事件。
4、请求被发送到服务器。
5、客户端接收到了响应。
6、PageRequestManager 实例引发了 pageLoading 事件。
7、PageRequestManager 实例引发了 pageLoaded&n