我想在其子页面内显示一些带有标签的面板,这两个面板都位于MasterPage上。我已经在MasterPage上进行了编码:
public class MyMaster : MasterPage
{
public void ShowPanel(string pMessage)
{
labelInside.Text = pMessage;
myPanel.visible = true;
}
}
然后我从子页面进行调用:
public void ShowPanel(string pMessage)
{
MyMaster masterPage = this.Master as MyMaster;
masterPage.ShowPanel(pMessage);
}
这“工作”没问题,但它不会显示任何内容,因为我需要在“ajax-way”中像“UpdatePanel”那样“刷新”页面,我无法使用,因为触发器在另一个页面,对吗?
我真的需要这个工作..即使你有另一种完全不同的方式来做这件事,我也会很感激。
答案 0 :(得分:1)
您必须将面板置于UpdatePanel(UpdateMode条件)内,并在ShowPanel中调用其Update method。
答案 1 :(得分:0)
您是否考虑让母版页只有标签的占位符,但是让每个子页面都将自己的内容标签放在该占位符中,然后它就可以完全控制?
答案 2 :(得分:0)
你可以对你的页面进行子类化,并公开一个属性说.. MyPage.FooVisible
比在您的masterPage中,您可以:
myPage = this.Page as MyPage
if (myPage != null) myPage.FooVisble = false;
在您的页面中,您可以按照自己喜欢的方式处理,
FooVisible {
set { SomeElement.Visible = value; }
}
伪代码当然:)