【问题标题】:Update Panel inside of a repeater中继器内的更新面板
【发布时间】:2014-12-18 18:58:15
【问题描述】:

我有一个包含网格视图的中继器。该 gridview 需要是可编辑的,并且为了提供更流畅的体验,我将 gridview 包裹在一个更新面板中。基于此,页面上有n个更新面板。一切都很好,但我问是因为我害怕可能出现的问题,例如回发大小。这是最好的方法吗?有没有我没有看到的陷阱?

【问题讨论】:

    标签: asp.net web updatepanel


    【解决方案1】:

    您有符合条件的问题。

    首先要知道UpdatePanel 是否始终将整个页面发布到服务器,甚至包括整个 ViewState 内容。你对此无能为力,只要确保你承认这一点。因此,如果您的页面非常大,并且您注意到应用程序的工作方式存在明显滞后,您可能需要考虑一种不同的方法,可能是手动异步调用或类似的方法。

    紧随其后的第二件事 - 每当 UpdatePanel 进行回发时,服务器执行整个页面生命周期,然后在页面上更新 UpdatePanel 中的一部分。同样,您不能或不应该做任何事情,这就是UpdatePanel 的工作方式。人们在调试时有时会对这一事实感到惊讶,因此值得一提。

    第三件事是针对您的情况,因为您在页面上有多个UpdatePanels。默认情况下,如果其中一个进行回发,所有其他面板也会进行回发,因此它们都会更新。也许这是一种期望的行为,也许不是。如果没有,您可以将每个UpdatePanelUpdateMode 属性设置为Conditional,它们将仅在GridView 内部触发更新。更多关于这个here

    UpdatePanels 上的这些以及更多其他详细信息可以在 this article 中找到。

    【讨论】:

    • 感谢您的回复,我确实将 updateMode 设置为有条件的。我想现在我会观察性能并让事情顺利进行。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多