Callback 与 UpdatePanels 的区别

Callback 与 UpdatePanels 内在实现机制都是Ajax 。但这两个工具与服务器交换信息的方式是不一样的。

采用 UpdatePanels 的页面仍然采用 Postback  方式与服务器交互,通过ViewState传递与UpdatePanels更新请求有关参数),只是交互方式是异步的并且从服务器的返回结果仅刷新 UpdatePanels 内部的控件内容而保持 UpdatePanels 以外的内容不变。很关键的一点是由于采用了 Postback 所以页面的 ViewState 被更新了。简单地说,UpdatePanels 采用 Ajax 机制在服务器与客户端浏览器之间做了一次 ViewState 的往返。

Callback  工作方式如下: 客户端采用异步方式向服务器发送请求; 服务器端通常采用 Generic Handler(. ashx文件)响应客户端的调用请求并获取请求的详细参数(客户端用 HTTP GET 命令发送参数)。 这个过程根本没有涉及到页面的 ViewState  ,更不用说改变 ViewState 了。

因此,与 UpdatePaneals 相比 Callback  是一种“轻量级”的Ajax 实现。明白这点区别对于灵活采用 Ajax 机制实现高性能的网页非常重要!
posted @ 2007-06-09 23:24  protorock  阅读(268)  评论(1编辑  收藏  举报