模拟Asp.net Ajax之UpdatePanel控件实现局部更新原理

时间:2022-10-07 12:21:25
模拟Asp.net Ajax之UpdatePanel控件实现局部更新原理(详解代码)
原理可参考:
首先ScriptManager和UpdatePanel在服务器端达成一致,截获了Page的Render()方法并在页面上为需要进行异步回送的控件输出了一些专门的JavaScript脚本。然后在客户端,若这些控件通过_doPostBack()函数试图引发整页的回送,则上面提到的JavaScript脚本将截获这个调用,并将页面中各个用户输入的控件的值,加上当前的试图状态 (ViewState)用XMLHttpRequest对象发送服务器。而此时服务器却对此丝毫不知,仍把它当作一次传统的回发,老老实实地引发了一次完整生命周期,并根据回送生成新的页面结构。随后又是在Page的()方法中,ScriptManager和UpdatePanel再次获取了其中的实现过程,把不在UpdatePanel中的内容统统踢出,只发送给客户端震泽更新的部分。最后,客户端的XMLHttpRequest对象收到了这部分信息,并在不知不觉悄悄地更新了UpatePanel中定义的内容。

6 个解决方案

#1


LZ研究很深,强烈要求微软开源。

#2


学习一下,o(∩_∩)o...

#3


引用楼主 ISpace2008 的帖子:
模拟Asp.net Ajax之UpdatePanel控件实现局部更新原理(详解代码) 
原理可参考: 
首先ScriptManager和UpdatePanel在服务器端达成一致,截获了Page的Render()方法并在页面上为需要进行异步回送的控件输出了一些专门的JavaScript脚本。然后在客户端,若这些控件通过_doPostBack()函数试图引发整页的回送,则上面提到的JavaScript脚本将截获这个调用,并将页面中各个用户输入的控件的值,加上当前的试图状态 (ViewState)用XMLHtt…



代码呢?

#4


用代码来模拟

#5


很强大噢,具体怎么做呢?

#6


好啊

#1


LZ研究很深,强烈要求微软开源。

#2


学习一下,o(∩_∩)o...

#3


引用楼主 ISpace2008 的帖子:
模拟Asp.net Ajax之UpdatePanel控件实现局部更新原理(详解代码) 
原理可参考: 
首先ScriptManager和UpdatePanel在服务器端达成一致,截获了Page的Render()方法并在页面上为需要进行异步回送的控件输出了一些专门的JavaScript脚本。然后在客户端,若这些控件通过_doPostBack()函数试图引发整页的回送,则上面提到的JavaScript脚本将截获这个调用,并将页面中各个用户输入的控件的值,加上当前的试图状态 (ViewState)用XMLHtt…



代码呢?

#4


用代码来模拟

#5


很强大噢,具体怎么做呢?

#6


好啊