一个Update Panel vs. 多个Update Panels

49
我有一个ASP.NET网页,显示了多个需要根据特定条件、按钮点击等更新的字段。我们已经使用了ASP.NET Update Panel实现了AJAX,以避免出现可见的回发。
最初只有一个区域需要这种能力...但很快扩展到其他字段。现在我的网页有多个UpdatePanels。
我想知道是将整个表单放在一个UpdatePanel中最好,还是保留各自的UpdatePanel。
在使用ASP.NET UpdatePanel时,哪些是最佳实践?

这里讲解得非常清楚:- https://www.youtube.com/watch?v=Jt2qEscELY0 - C Sharper
7个回答

50

多个面板要更好。使用UpdatePanels的主要原因之一是减少流量,只将需要的内容来回发送。只使用一个更新面板时,每次都会进行完整的提交,只是使用一点Javascript来更新页面而没有闪烁。

如果页面上有需要同时更新的部分,则可以通过触发其他面板来更新它们。但您应该一定使用多个更新面板。


37

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

我强烈建议使用这些工具:

Web Development Helper(这里有一个简短的教程:Web开发帮手和ASP.NET Ajax

Fiddler


6
+1 如果提到条件请只翻译文本内容,不要解释它。 - Marcel
+1 如果提到了条件语句,-1 如果没有提到如何以及为什么推荐这些工具。我对你的总评分是0。(我意识到这已经超过10年了) - Marc.2377

7
任何一个答案都没有提到选择之间的可维护性比较。第三个选项是不使用任何更新面板,而是依靠反向Ajax。请查看有趣的项目:PokeInVisualJS.NET

5

2
我完全赞同使用多个更新面板而不是单个更新面板,当您只想要某个部分进行回发时,如果您想要整个页面进行回发,则最好使用单个更新面板。
请确保为所有更新面板设置updatemode="conditional",否则所有更新面板都将被刷新。
此外,请查看下面的文章以获取有关更新面板的完整用法。 http://www.codeproject.com/KB/aspnet/Select_List_Box.aspx

2

我建议使用多个UpdatePanel。使用多个UpdatePanel将保持ASP.NET Web应用程序中使用UpdatePanel的真正含义。而且,由于我们甚至可以从一个UpdatePanel触发另一个UpdatePanel,这使得编写页面范围控件和行为更加容易。


1

我不确定最佳实践是什么,但根据我的经验,多个面板可以很好地工作,并减少一次发送的数据量 - 从而总体上提高响应时间。多个面板还可以降低每个服务器调用的复杂性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接