All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
代码前置时页面输出脚本的要注意的问题_JavaScript技术_编程技术
一段HTML代码组成的页面取其中前300个字_[Asp.Net教程]
浅谈SQL,Server数据类型最大值_[SQL,Server教程]
asp.net,操作xml_.net资料_编程技术
使用PHP4.2.0及以后版本的注意事项_php资料_编程技术
解决PHP的Failed,opening,required问题_php资料_编程技术
当ASP.NET撞上JSF之框架比较_[Asp.Net教程]
黑客隐藏PHP文件后门的技巧_[PHP教程]
asp.net,URL重写(URLRewriter),之简化版_[Asp.Net教程]
50个常用sql语句_mssql学习_编程技术
Reading number is top 10 pictures
Sexy women in 2013--2
Magnificent cloud1
The money of more than 100 countries and regions18
Look for from human art net, is good--3
Embarrassing things comic collection1
到南昌西站了1
NeedWallpaper13
初吻给了谁?
美丽的桂林风光1
这才是真正的人体艺术2
Download software ranking
WebService在.NET中的实战应用教学视频 → 第2集
matrix3
Rio big adventure
Tram sex maniac 2 (H) rar bag4
The Bermuda triangle3
C语言教程TXT
Ashlynn Video5
Tram sex maniac 2 (H) rar bag13
The cock of the Grosvenor LTD handsome
1400篇各类破解文章
归海一刀 published in(发表于) 2014/1/30 0:52:01 Edit(编辑)
Asp.net,Ajax,学习笔记5,UpdatePanel的使用(下)_[Asp.Net教程]

Asp.net,Ajax,学习笔记5,UpdatePanel的使用(下)_[Asp.Net教程]

Asp.net Ajax 学习笔记5 UpdatePanel的使用(下)_[Asp.Net教程]

PageRequestManager类


PageRequestManager类处于Sys.WebForms命名空间下


getInstance方法– 获得全局唯一的PageRequestManager实例


isInAsyncPostBack属性– 是否正处在一个异步更新过程中


abortPostBack方法– 取消当前的异步更新


Sys._Application的事件
– init事件
– load事件
– unload事件


PageRequestManager的事件
– 异步刷新时触发
– initializeRequest
– beginRequest
– pageLoading
– pageLoaded
– endRequest


进入页面的事件顺序:PRM(PageRequestManager)


PRM_pageLoaded事件→App_init事件→App_load事件→pageLoad方法


离开页面的事件顺序


pageUnload方法→App_unload事件


发起异步提交的事件顺序


PRM_initializeRequest事件→PRM_beginRequest事件


服务器处理异步提交之后,页面处理事件


PRM_pageLoading事件→PRM_pageLoaded事件→App_load事件→pageLoad方法→PRM_endRequest事件



注意PRM_endRequest事件是错误/超时/取消时触发


App – init事件
• 基于浏览器window.onload事件
• 只在页面第一次初始化时触发
• 所有脚本已经加载完毕
• 所有组件还没有开始创建
• 用于创建各种组件


App – load与unload事件
• load事件
– 参数类型:Sys.ApplicationLoadEventArgs
• components属性:获得这次加载阶段中所有建立的
对象。
• isPartialLoad属性:是否为异步调用导致页面加载。
– 常用操作:
• 随意?无?
• unload事件
– 仅用于通知


PRM – initializeRequest事件
• 参数类型:InitializeRequestEventArgs
– request属性:用于获得WebRequest对象(用
于请求的信息)
– postBackElement:触发异步刷新的DOM元素


postBackElement的set_cancel方法用于取消这次异步回传提交。get_postBackElement方法得到异步回传提交的DOM元素


使用PRM的add_initializeRequest方法添加此事件的处理器,参数为函数地址,函数的两个参数为request属性和postBackElement。此事件用于用户提交之前判断是否提交数据使用和在数据提交之前读取请求的数据


PRM – beginRequest事件
• 参数类型:BeginRequestEventArgs
– request属性:用于获得WebRequest对象(用于请求的信息)
– postBackElement:触发异步刷新的DOM元素


使用add_beginRequest方法给此事件添加事件处理器。此事件通常用于读取请求信息、改变请求方式、显示更新提示。


PRM – pageLoading事件
• 参数类型:PageLoadingEventArgs
– dataItems属性:获得服务器端注册的数据项
– panelsDeleting属性:获得即将删除的UpdatePanel
– panelsUpdating属性:获得即将更新的UpdatePanel


使用add_pageLoading方法给此事件添加事件处理器。此事件通常用于提示更新的UpdatePanel、获得服务器端注册的数据项。注意如果页面上有多个UpdatePanel,并且UpdatePanel里没有任何提交控件。在所有的UpdatePanel外有一个提交控件,并且在页面加载的时候注册成为一个异步回传控件。这时候点击这个提交控件,会发现多个UpdatePanel的更新是随机的,每次点击更新的数量和目标都不一样


使用PageLoadingEventArgs的get_panelsUpdating()方法得到正在更新的UpdatePanel,get_panelsDeleting()方法得到正在删除的UpdatePanel


PRM – pageLoaded事件
• 参数类型:PageLoadedEventArgs
– dataItems属性:获得服务器端注册的数据项
– panelsCreated属性:获得新建的UpdatePanel
– panelsUpdated属性:获得已经更新的UpdatePanel


使用add_pageLoaded方法给此事件添加事件处理器。此事件通常用于获得服务器端注册的数据项、执行服务器端注册的脚本。在例子中有几个需要注意的地方:1.可以通过document.createElement方法创建标准的HTML控件(标签)如创建一个层document.createElement("div")2.通过appendChild方法追加自己的子标签3.在示例中有一段代码很奇怪,就是将UpdatePanel的ID付给新创建的DIV的ID,那么这个Div就成为了新的UpdatePanel。这个例子是追加更新的内容,不必每次刷新整个UpdatePanel。


使用PageLoadedEventArgs的get_panelsUpdated()方法得到已经更新的UpdatePanel,get_panelsCreated得到已创建的UpdatePanel


PRM – endRequest事件
• 参数类型: EndRequestEventArgs
– dataItems属性:获得服务器端注册的数据项
– error属性:获得异步刷新时获得的错误
– errorHandled属性:表明错误是否已被处理了
– response属性:获得这次请求获得的结果对象


使用add_endRequest事件来给此事件添加事件处理器。主要用来处理异步刷新结果(异常、超时、取消, etc.)、获得请求结果中额外的信息、获得服务器端注册的数据项


使用EndRequestEventArgs的get_error()方法,得到这个请求的错误对象,使用set_errorHandled()方法来设置错误是否被处理,参数为bool值。使用get_response()得到响应对象。响应对象也有几个常用方法1.get_timeOut()方法,得到这个请求是否超时返回。


ScriptManager.GetCurrent(this).AsyncPostBackTimeout = 3;
注:使用上面代码设置ScriptManager设置异步回传超时时间。


2.get_statusCode()方法得到响应对象的的状态代码,200为正常返回。3.get_aborted()方法。得到这个请求是否被取消。EndRequestEventArgs还有一个重要的方法get_dataItems()方法,得到服务器端注册的数据项。那么注册数据项服务单是如何处理呢?如以下代码


ScriptManager.GetCurrent(this).RegisterDataItem(this.UpdatePanel1, DateTime.Now.ToString());


那么上面这段代码就是给一个UpdatePanel注册一个数据项,RegisterDataItem还有一个重载,判断这个数据项是否已经被JSon序列化。


在UpdatePanel的使用中,最好指定触发异步回传控件,并且指定UpdatePanel的UpdateMode的属性为Conditional,以确保不会被别的异步提交按钮影响。以上所有的事件处理器加载函数必需要在ScriptManager加载完毕以后,才能加载,否则,加载时会报错。也就是说,所有的事件加载函数必须放在ScriptManager控件的下面。








添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.