【发布时间】:2010-03-15 15:46:46
【问题描述】:
我对 ASP.NET AJAX 部分呈现的实际工作方式有疑问。是吗:
1) 在服务器上渲染整个页面,将整个页面传输给客户端,然后客户端只合并更新面板中包含的区域。
2) 在服务器上渲染整个页面,只传输和合并更新面板所包含的区域。
3) 仅渲染、传输和合并更新面板所包含的区域。
谢谢,
AJ
【问题讨论】:
我对 ASP.NET AJAX 部分呈现的实际工作方式有疑问。是吗:
1) 在服务器上渲染整个页面,将整个页面传输给客户端,然后客户端只合并更新面板中包含的区域。
2) 在服务器上渲染整个页面,只传输和合并更新面板所包含的区域。
3) 仅渲染、传输和合并更新面板所包含的区域。
谢谢,
AJ
【问题讨论】:
2 是答案 - Partial-Page Rendering Overview:
异步回发的行为很多 像同步回发。一切 服务器页面生命周期事件发生, 并且查看状态和表单数据是 保存。然而,在渲染中 阶段,只有内容 UpdatePanel 控件被发送到 浏览器。页面的其余部分保持不变 不变。
【讨论】:
这取决于您使用哪种方法。如果您使用UpdatePanel,那么它几乎就像一个完整的回发,页面经历其整个生命周期,然后只有UpdatePanel 的内容被发送回浏览器。您也可以使用PageMethods 之类的东西来仅发送您的方法需要的数据,并让该方法返回您可以放置在页面中的新html(很可能在某些div 中)。这更有效,但需要更多时间来设置。查看 link 以比较 UpdatePanel 与 PageMethods 以及如何实现它们。
【讨论】: