判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序
普通的Web页面初始加载时,我们一般会用if(!Page.IsPostBack)来判断一下该页面是初次加载还是通过回传加载。对于 ASP.NET AJAX 的客户端js脚本中的pageLoad事件也有它的是初始加载还是通过回发触发的pageLoad。
刚跟皱键讨论具体怎么判断的问题,其想法与我的不谋而合,都是用一个全局变量来标识。不过后来经过一番研究,发现大可不必。按照如下代码来做
只e.get_isPartialLoad()就ok了。
另外,Sys.Web.PageRequestManager.getInstance()的几个事件的顺序可以按照如下方式代码来测试一下,它们的顺序为
initializeRequest→beginRequest→ 向服务器端发送数据→接收数据→pageLoading→pageLoad→endRequest
刚跟皱键讨论具体怎么判断的问题,其想法与我的不谋而合,都是用一个全局变量来标识。不过后来经过一番研究,发现大可不必。按照如下代码来做
1 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 }
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 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
13 function PageLoadingHandler(sender,e)
14 {
15 alert("PageLoading");
16 }
17
18 function PageLoadedHandler(sender,e)
19 {
20 alert("PageLoaded");
21 }
22 function InitRequestHandler(sender,e)
23 {
24 alert("InitRequestHandler");
25 }
26
27 function BeginRequestHandler(sender,e)
28 {
29 alert("BeginRequestHandler");
30 }
31
32 function EndRequestHandler(sender,e)
33 {
34 alert("EndRequestHandler");
35 }
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
13 function PageLoadingHandler(sender,e)
14 {
15 alert("PageLoading");
16 }
17
18 function PageLoadedHandler(sender,e)
19 {
20 alert("PageLoaded");
21 }
22 function InitRequestHandler(sender,e)
23 {
24 alert("InitRequestHandler");
25 }
26
27 function BeginRequestHandler(sender,e)
28 {
29 alert("BeginRequestHandler");
30 }
31
32 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
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
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 |
搜索
我管理的小组
我的标签
- linq(4)
- linq to sql(3)
- translation(3)
- translating(2)
- MS Free Book(2)
- script(1)
- javas
cript (1) - 脚本出现的奇怪问题(1)
- microsoft linq(1)
- language integeration(1)
- 更多
随笔分类(79)
随笔档案(147)
友情链接
- Eclipse插件
- Eclipse插件天气预报插件
- JSF Tutorial (rss)
- http://www.coreservlets.com/JSF-Tutorial/
- JSF2.0专家讲解JSF2.0新特性
- Phil Haack[English Version]
- Phil Haacked[中文版] (rss)
- Phil Haack先生是著名博客引擎Subtext的主要开发人员,目前在微软总部担任资深程序经理,主要负责MVC架构相关的内容。很高兴成为Phil Haacked的中文站点管理员,如果您有意愿加入Phil Haacked博客翻译工作,请给我留言。
- ScottGu博客中文版 (rss)
- 达达的博客 (rss)
- 达达的胡搞瞎搞工作室
- 许珈毓
- 杨福川的博客[图灵] (rss)
- 在线JavaS
cript压缩 - 张大磊的博客 (rss)
- 紫柔 (rss)
- 微软中文论坛版主,紫柔
最新随笔
积分与排名
- 积分 - 151564
- 排名 - 374
最新评论
非常感谢 (adodo1)
很不错 呵呵 我给公司做培训用了你的PPT (写代码)
垃圾 (cv56ghg)
好东西! (11jkjkl)
xiexie~~~,,,分享 (aasdasdas)
阅读排行榜
Copyright ©2009 韩现龙