使用UpdatePanel从内容页面更新母版页上的标签,而不使用完整的回发

时间:2011-02-03 16:56:05

标签: c# asp.net vb.net asp.net-ajax

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

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

提前致谢。

1 个答案:

答案 0 :(得分:8)

  • 将您的标签放在单独的UpdatePanel中的MasterPage中。
  • 在dropdownlist上的SelectedIndexChange进行异步回发
  • 从SelectedIndexChanged-Handler调用Masterpage(f.e。ShowMessage)上的一个函数,该函数更改Label的Text并在Masterpage的UpdatePanel上调用Update。

您可以通过以下方式访问MasterPage的功能(从ContentPage和ContentPage中的UserControls):

((MyMaster)this.Page.Master).ShowMessage(text);

在VB.Net

DirectCast(Me.Page.Master, MyMaster).ShowMessage(text)

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