1

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

这是问题的抽象视图。 在此处输入图像描述

我希望你们能帮助我。谷歌这次并没有提供很大的帮助。

提前致谢。

4

2 回答 2

2

试试这样。可能有帮助吗

     ContentPlaceHolder plchldr= this.Master.Master.FindControl("YourMainMasterContentID") as ContentPlaceHolder;
            Label lbl = plchldr.FindControl("lblText") as Label;
             if(lbl !=null)
             { 
               lbl.Text="SomeText"
             }
于 2012-05-04T09:43:48.580 回答
1

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

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

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

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

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

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

于 2012-05-04T09:39:07.860 回答