一个更新面板与多个更新面板
我有一个ASP.NET网页,显示各种各样的领域,需要更新最好的特定条件下,button点击等。 我们已经实现了AJAX,使用ASP.NET更新面板来避免可见的回传。
原来只有一个领域需要这个能力……很快扩展到其他领域。 现在我的网页有多个UpdatePanel。
我想知道是否最好只将整个窗体包装在一个UpdatePanel中,或者保留单独的UpdatePanel。
什么是使用ASP.NET UpdatePanel的最佳做法?
多面板要好得多。 根本上使用UpdatePanel的一个主要原因是减lessstream量,只发送你需要来回穿过线路的部分。 通过只使用一个更新面板,你几乎每次都做一个完整的回发,你只是用一个小的Javascript来更新页面没有闪烁。
如果有一些需要一起更新的页面,有办法触发其他面板更新,但是你一定要使用多个更新面板。
我会告诫,多个更新面板,你要小心。 确保将UpdateMode设置为有条件。 否则,当一个更新面板被“回发”给服务器时,所有这些都被回发。
我强烈build议使用这些工具
Web开发助手 (这里是一个简短的教程Web开发助手和ASP.NET Ajax )
提琴手
这些答案中的任何一个都没有提到维持比较的select。 第三个select是你不使用任何更新面板,让你的自我反向Ajax。 看看有趣的项目: PokeIn和VisualJS.NET
如果可以,最好使用多个UpdatePanel,因为UpdatePanel生成的POST大小。 如果您可以使用手动AJAX方法处理更新字段等小事情,则会更好。 WPF提供了一些JavaScript函数和方法来完成这个。 以下是一些可能有用的链接:
我build议多个更新面板。 使用多个更新面板将保持在asp.net web应用程序中使用updatepanel的真正意义。 而且,由于我们甚至可以从另一个更新面板触发一个更新面板,所以更容易编写页面范围的控件和行为。
我完全同意使用多个更新面板,而不是使用单个更新面板,如果您希望只有某个部分被回发,如果您希望整个页面回发,那么最好使用单个更新面板。
确保你为所有的updatepanel创buildupdatemode =“conditional”,否则所有的updatepanel都会刷新。
还请查看下面的post以获取更新面板的完整用法
不确定最佳实践,但根据我的经验,多个面板运行良好,同时减less了数据发送量,从而缩短了整体响应时间。 多个面板也减less了每个服务器调用的复杂性。