【问题标题】:Is it better to have one UpdatePanel around multiple controls or separate UpdatePanels?围绕多个控件使用一个 UpdatePanel 还是单独的 UpdatePanel 更好?
【发布时间】:2010-09-21 04:46:57
【问题描述】:

我有一个包含多个 ListBox、TextBox、DropDown 的 Web 表单。如果我在整个页面周围放置一个 UpdatePanel,我注意到页面速度较慢。这是因为每个控件都在更新吗?如果我在每个控件周围放置不同的 UpdatePanel,我注意到页面的响应更好。假设这是因为我可以更好地控制页面的哪些部分根据来自 ListBoxes 和 DropDowns 的选择进行更新,这是否正确?

谢谢,

X

【问题讨论】:

标签: asp.net asp.net-ajax


【解决方案1】:

我使用更新面板时会考虑到一组相关功能。我发现对于我的应用程序,当页面上有相关的内容时,例如搜索工具,最好放在它自己的更新面板中。但是要小心在您的页面上放置太多更新面板,因为客户端必须下载更多代码才能运行。

我使用的一条规则是将所有面板的更新模式设置为仅在更改子项时触发,并且在某些情况下,最好在您的代码中以编程方式执行此操作。如果您在另一个更新面板中有一部分项目,但两者都不需要更新,或者父项只需要偶尔更新,这是最好的选择。

通过触发代码中的面板,您将为自己创造更多的工作,但最终您还将对用户体验有更多的控制,这可能有助于您发送更少的比特。

安德鲁

【讨论】:

    【解决方案2】:

    每个更新面板都会生成到服务器的往返行程(我假设您正在使用计时器或其他东西来导致这种情况)

    一般规则是将更新面板中的控件分组,必须一起更改,否则单独的更新面板更有意义

    【讨论】:

    • 我会为此 +1,但我当天没有票,史蒂文是正确的。
    • 我有一个围绕所有内容的 UpdatePanel,但我通过将 UpdateMode 设置为条件并设置触发器来对它们进行分组。 UpdatePanel 似乎真的很痛苦。
    • 我同意这一点,只是想补充一点,使用 ASP.NET AJAX,您还可以指定控件作为更新面板本身的触发器,而不是更新面板本身。这样您就可以在页面的其他地方有一个下拉列表,该下拉列表将触发更新,而无需在面板中。
    猜你喜欢
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多