在按钮单击时从内容更改嵌套母版页中的Label.Text

时间:2012-05-04 09:35:26

标签: c# asp.net master-pages

就是这种情况。我有一个主页网站 包含另一个主页Shop.Master的主人 在Shop.Master里面有一个ContentPlaceHolder加载Something.aspx 在顶级母版页内,有一个标签[lblText] Something.aspx页面包含一个文本框[boxInput]和一个按钮[btnButton] 我想要完成的是当我点击按钮[btnButton]时,值lblText.Text被设置为[boxInput]的内容。

这是问题的抽象视图。 enter image description here

我希望你们能帮助我。 Google这次不是一个很好的帮助。

提前致谢。

2 个答案:

答案 0 :(得分:2)

试试这样。可能有帮助

     ContentPlaceHolder plchldr= this.Master.Master.FindControl("YourMainMasterContentID") as ContentPlaceHolder;
            Label lbl = plchldr.FindControl("lblText") as Label;
             if(lbl !=null)
             { 
               lbl.Text="SomeText"
             }

答案 1 :(得分:1)

这通常是一个奇怪的问题。我过去能够解决这个问题的唯一方法就是:

((MasterPageType)this.Master).lblText = "Whatever";

根据您的具体情况,您可能需要冒泡两个母版页:

((MasterPageRootType)((MasterPageType)this.Master).Master).lblText = "Whatever";

如果您将主页更改为其他类型,这显然会失败。

(自从我做了WebForms以来,我已经很久了,所以请原谅我,如果这不是100%)