我有一个 ASP.NET 网页,其中显示了需要在某些条件、按钮点击等情况下最好更新的各种字段。我们已经实现了 AJAX,使用 ASP.NET 更新面板来避免可见的回发。

原本只有 需要这种能力的领域...很快扩展到其他领域。现在我的网页有多个UpdatePanel。

我想知道是否最好将整个表单包装在一个 UpdatePanel 中,或者保留单独的 UpdatePanel。

使用 ASP.NET UpdatePanel 的最佳实践是什么?

有帮助吗?

解决方案

多个面板要好得多。使用 UpdatePanel 的主要原因之一是减少流量并仅通过网络来回发送您需要的部分。通过仅使用一个更新面板,您几乎每次都会进行完整的回发,您只需使用一点 Javascript 来更新页面而不会出现闪烁。

如果页面的某些部分需要一起更新,则有多种方法可以在其中一个面板更新时触发其他面板进行更新。但您绝对应该使用多个更新面板。

其他提示

我要提醒您的是,对于多个更新面板,您需要小心。确保将 UpdateMode 设置为 Conditional。否则,当一个更新面板“回发”到服务器时,所有更新面板都会被回发。

我强烈建议使用这些工具

网页开发助手 (这是一个简短的教程 Web 开发助手和 ASP.NET Ajax)

提琴手

这些答案中的任何一个都没有提到选择之间的可维护性比较。第三个选项是,您不使用任何更新面板,而将自己留给反向 ajax。查看有趣的项目: 戳进去VisualJS.NET

我相信如果可以的话最好使用多个 UpdatePanel,因为 UpdatePanel 生成的 POST 的大小。如果您可以使用手动 AJAX 方法来处理诸如更新字段之类的小事情,那就更好了。WPF 提供了一些 javascript 函数和方法来完成此任务。以下是一些可能有用的链接:

我推荐多个更新面板。使用多个 updatepanel 将保留在 asp.net web 应用程序中使用 updatepanel 的真正含义。由于我们甚至可以从另一个更新面板触发一个更新面板,这使得编写页面范围的控件和行为变得更加容易。

我完全同意使用多个更新面板,而不是使用单个更新面板时,如果您只想让整个页面成为后返还,则最好使用单个更新面板。

确保为所有更新面板设置 updatemode=“conditional”,否则所有更新面板都会刷新。

另请查看下面的帖子以了解更新面板的完整用法

http://www.codeproject.com/KB/aspnet/Select_List_Box.aspx

不确定最佳实践,但根据我的经验,多个面板运行良好,并减少一次发送的数据量 - 导致总体响应时间增加。多个面板还降低了每个服务器调用的复杂性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top