【问题标题】:One Update Panel vs. Multiple Update Panels [closed]一个更新面板与多个更新面板[关闭]
【发布时间】:2010-09-09 12:12:47
【问题描述】:

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

最初只有一个领域需要这种能力……很快扩展到其他领域。现在我的网页有多个更新面板。

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

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

【问题讨论】:

标签: asp.net asp.net-ajax webforms


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    如果有页面需要一起更新,有办法在一个更新时触发其他面板更新..但您绝对应该使用多个更新面板。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        我提醒您,使用多个更新面板时您需要小心。确保将 UpdateMode 设置为 Conditional。否则,当一个更新面板被“回发”到服务器时,它们都被回发。

        我强烈建议使用这些工具

        Web Development Helper(这里有一个简短的教程Web Development Helper and ASP.NET Ajax

        Fiddler

        【讨论】:

        • +1 用于提及条件
        • +1 用于提及条件,-1 用于不提及如何,以及您为什么推荐这些工具?我的总分是 0。(我意识到这已经超过 10 年了)
        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

          我完全同意使用多个更新面板而不是使用单个更新面板,当您只想回发某个部分时 如果您希望整个页面回发,那么最好使用单个更新面板。

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

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

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-09-05
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多