判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序

 
   普通的Web页面初始加载时,我们一般会用if(!Page.IsPostBack)来判断一下该页面是初次加载还是通过回传加载。对于 ASP.NET AJAX  的客户端js脚本中的pageLoad事件也有它的是初始加载还是通过回发触发的pageLoad。
   刚跟皱键讨论具体怎么判断的问题,其想法与我的不谋而合,都是用一个全局变量来标识。不过后来经过一番研究,发现大可不必。按照如下代码来做
 
 1判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区) function pageLoad(sender,e)
 2        {
 3//此处e.get_isPartialLoad()即是判断是初始加载还是回发
 4            if(e.get_isPartialLoad())
 5            {
 6                Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(InitRequestHandler);
 7                Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
 8                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
 9            }

10        }


只e.get_isPartialLoad()就ok了。

另外,Sys.Web.PageRequestManager.getInstance()的几个事件的顺序可以按照如下方式代码来测试一下,它们的顺序为
   initializeRequest→beginRequest→   向服务器端发送数据→接收数据→pageLoading→pageLoad→endRequest
 1判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区) function pageLoad(sender,e)
 2        {
 3            if(e.get_isPartialLoad()==false)
 4            {
 5                Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(InitRequestHandler);
 6                Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(PageLoadingHandler);
 7                Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoadedHandler);
 8                Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
 9                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
10            }

11        }

12判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)        
13判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)        function PageLoadingHandler(sender,e)
14        {
15            alert("PageLoading");
16        }

17判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)        
18判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)        function PageLoadedHandler(sender,e)
19        {
20            alert("PageLoaded");
21        }

22判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)        function InitRequestHandler(sender,e)
23        {
24            alert("InitRequestHandler");
25        }

26判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)        
27判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)        function BeginRequestHandler(sender,e)
28        {
29            alert("BeginRequestHandler");
30        }

31判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)        
32判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)        function EndRequestHandler(sender,e)
33        {
34            alert("EndRequestHandler");
35         }

公告

努力工作,努力学习.

天行健,君子以自强不息,
地势坤,君子以厚德载物。

If you are a foreigner whose mother tongue isn't Chinese and you'd like to know what the articles of my blog are about,you can contact me on my MSN:hanxianlong[@#]hotmail.com or visit my facebook

I find a IP from Micoroft (in America) visiting my blog these days,It seems that he pays attention to my blog,why? Have I done anything wrong?
If you are the right person who works in Micorosft(America) and you notice this note,please contact me,thank you!
 子曰:知之为知之,不知为不知。此言之义,应不言自明。于为人,于处事,此言均恰到好处。

 

如斯,于技术之事,更是如此。一项技术,无论其新旧,无论其深浅,在未深入理解之前,请勿擅自发表言论,你可于内心深处思考其正误,可于内心深处评判其优劣,可于内心深处对此技术的进行相关的解释――-但是,我以为,若自身认为理解还是太正确,还是请勿以自身之错误的理解,教与众人,否则,国家之教育,公司之发展,学生之成长,均被这"误理解"给耽搁了!

判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)站长统计
< 2007年9月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6

搜索

 

我管理的小组

相册

收藏夹(4)

现实生活中的朋友

友情链接

积分与排名

  • 积分 - 151564
  • 排名 - 374
Copyright ©2009 韩现龙
站长统计判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序  - 雕虫者 - 火凤凰工作室(交流区)
posted @ 2009-10-23 21:52  火凤凰工作室  阅读(2038)  评论(0编辑  收藏  举报