我对ASP.NET AJAX部分渲染的实际工作方式有疑问。是吗:
1)在服务器上呈现整个页面,将整个页面传送到客户端,然后客户端只合并更新面板中包含的区域。
2)在服务器上呈现整个页面,仅传输和合并更新面板包含的区域。
3)仅渲染,传输和合并更新面板包含的区域。
谢谢,
AJ
答案 0 :(得分:3)
2就是答案 - Partial-Page Rendering Overview:
异步回发表现很多 像一个同步回发。一切 服务器页面生命周期事件发生, 并查看状态和表单数据 保存。但是,在渲染中 阶段,只有内容 UpdatePanel控件被发送到 浏览器。页面的其余部分仍然存在 不变。
答案 1 :(得分:2)
这取决于您使用的方法。如果您使用UpdatePanel
,那么它几乎就像一个完整的回发,页面会经历整个生命周期,然后只会将UpdatePanel
的内容发送回浏览器。您还可以使用类似PageMethods
之类的内容来发送您的方法所需的数据,并让该方法返回您可以放置在页面中的新html(最有可能在某个div中)。这样效率更高,但需要花费更多时间进行设置。查看此link,了解UpdatePanel
与PageMethods
的比较以及如何实施每个。