什么是回调?它与更新面板控件有什么不同?

时间:2011-03-22 19:02:44

标签: c# asp.net ajax

我刚刚意识到我一直在使用实现ICallbackEventHandler(回调)的控件而不了解它们实际做了什么以及它们与更新面板的区别。有人可以帮我理解吗?

谢谢!

2 个答案:

答案 0 :(得分:5)

此处找到合理的解释。

http://www.componentart.com/community/blogs/milos/archive/2007/01/25/callback-vs-updatepanel.aspx

“UpdatePanels发布整个页面,有效地对每个请求执行回发。它们异步执行,因此原始页面保持不变。控件然后确定页面的哪些可更新区域受到该回发的影响(UpdatePanels中的区域) ,本质上),它重绘这些区域,并更新ViewState。这种机制保留了旧的基于回发的ASP.NET范例。

CallBack使用不同的范例,只是让你将一些标记渲染到容器中,而不发布其他控件的状态(除非你想要)。渲染不是通过通常的ASP.NET机制完成的,而是通过服务器端事件处理程序完成的,它确切地确定了发回的内容。页面上的任何其他内容都无法修改,并且ViewState保持不变。“

答案 1 :(得分:2)

他们是两件不同的事。

回调是面板更新后触发的事件。通常,这用于在客户端上调用一些JavaScript来打开面板或对刚刚更新的项目运行某种UI效果,或者设置某种形式的客户端应用程序状态。