这种情况是否存在解决方案?

我有一个包含 UpdatePanel 和组合框的内容页面。当组合框值更改时,我想更改母版页中的标签。所以,对我来说主要的问题是我不想在每个组合框值改变时进行完整的回发。是否有一些技巧可以克服完全回发?

提前致谢。

最佳答案

  • 将您的标签放在单独的 UpdatePanel 中的 MasterPage 中。
  • 在下拉列表的 SelectedIndexChange 上进行异步回发
  • 从 SelectedIndexChanged-Handler 调用 Masterpage 上的函数(例如 ShowMessage ),该函数更改标签的文本并调用 Masterpage 的 UpdatePanel 上的 Update。

  • 您可以通过以下方式访问 MasterPage 的功能(从 ContentPage 和 ContentPage 中的 UserControls 一样):
    ((MyMaster)this.Page.Master).ShowMessage(text);
    

    在 VB.Net 中
    DirectCast(Me.Page.Master, MyMaster).ShowMessage(text)
    

    当然,您必须将 MyMaster 替换为 MasterPage 的实际类型,并实现一个公共(public)函数(子)来更改标签的文本(在本例中为 ShowMessage)并更新 MasterPage 中的 UpdatePanel。将其 UpdateMode 属性设置为 Conditional 并确保 ChildrenAsTriggers 属性为 false 并且没有为面板定义显式触发器。

    关于c# - 在没有完整回发的情况下使用 UpdatePanel 从内容页面更新母版页上的标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4889081/

    10-09 01:19