ASP.NET AJAX中UpdatePanel的工作原理
来源:互联网 发布:数据库如何学 编辑:程序博客网 时间:2024/04/27 11:43
http://www.cnblogs.com/EricaMIN1987_IT/archive/2011/01/25/1944734.html
简单点来说,UpdatePanel 可以用来创建丰富的局部更新Web应用程序,它是 ASP.NET 2.0 AJAX Extensions中(ASP.Net3.5中已经包含)很重要的一个控件,它的强大之处在于不用编写任何客户端脚本,只要在一个页面上添加几个 UpdatePanel 控件和一个 ScriptManager 控件就可以自动实现局部更新。
UpdatePanel 的工作依赖于 ScriptManager 服务端控件和客户端 PageRequestManager,当 ScriptManager 中允许页面局部更新时,它会以异步的方式回传给服务器,与传统的整页回传方式不同的是只有包含在 UpdatePanel 中的页面部分会被更新,在从服务端返回 HTML 之后,PageRequestManager 会通过操作 DOM 对象来替换需要更新的代码片段。
以上说法可能过于笼统,下面是稍微细致点的解释:
UpdatePanel 依赖于服务端控件ScriptManager和客户端脚本对象PageRequestManager。
Submit 被页面上的PageRequestManager截获, PageRequestManager会判断是传统提交还是异步提交。如果是异步提交,就使用XmlHttpRequest来提交,提交的内容除了传统提交的form外,还包含一个自定义的http header “x-myajax”来通知server端这是一个异步提交,然后和传统提交一样走完完整的生命周期。
Init
Load State
Process Postback
Load
Postback Events
Save State
PreRender
Render
UnLoad
在Render阶段,ScriptManager如果看到http header “x-myajax”标记,就会替换掉Page对象的输出方式,输出需要刷新的UpdatePanel中的内容和一些ViewState。在收到服务端的处理结果之后,PageRequestManager会通过操作DOM对象来替换需要更新的代码片段。需要执行的JavaScript也会在此时传送到客户端执行。最后客户端的XMLHttpRequest对象收到了这部分信息,并在不知不觉悄悄地更新了UpatePanel中定义的内容。
异步请求的内容包含如下数据,与整页更新相比没有任何减少
– 采集Form中所有<input />并发送
– 包含ViewState
应该尽可能减少客户端接受到的数据大小,可以使用如下方式:
– 使用多个UpdatePanel包含多个部分
– UpdateMode尽量不要设为Always
- ASP.NET AJAX中UpdatePanel的工作原理
- ASP.NET AJAX中UpdatePanel的工作原理
- AJAX在ASP.NET中的应用(四)——探寻UpdatePanel的工作原理
- ASP.NET 2.0 AJAX UpdatePanel
- asp.net ajax updatepanel中textbox 乱码问题 解决方案
- Asp.net Ajax UpdatePanel中图像无自动刷新问题
- asp.net ajax 在updatepanel中使用alert提示方法
- FCKeditor在ASP.NET AJAX的UpdatePanel控件中按钮回调后内容丢失的问题
- 技巧和诀窍:在ASP.NET AJAX UpdatePanel中实现对后退/前进按钮的支持
- 技巧和诀窍:在ASP.NET AJAX UpdatePanel中实现对后退/前进按钮的支持
- 解决在asp.net中 使用 ajax UpdatePanel出现乱码问题的解决方案
- 技巧和诀窍:在ASP.NET AJAX UpdatePanel中实现对后退/前进按钮的支持
- asp.net ajax 1.0中detailview与updatepanel混合使用的例子
- asp.net ajax 1.0中detailview与updatepanel混合使用的例子
- 在asp.net ajax 1.0 的updatePanel中如何实现文件下载
- asp.net ajax 1.0中detailview与updatepanel混合使用的例子
- ASP.NET AJAX 的 UpdatePanel 控件不是万能的
- AJAX 怎样在一个UpDatePanel中刷新另一个updatePanel (asp.net C#)
- 京东与卓越
- 关于.NET安装时需要重启动的处理办法,以及延伸出的重启后继续安装的安装包的一点想法
- C# Asp.Net进度条
- 1
- IOCP
- ASP.NET AJAX中UpdatePanel的工作原理
- 获取系统中安装的应用程序的基本信息
- MSSQL 时间格式
- Silverlight - 用From/To/By制作基本动画
- android 的好blog
- Cacti安装磁盘IO监控
- .net获取IP地址的几种方法
- 【转】用十年教会自己编程
- 三十分钟掌握STL