【问题标题】:Change Label.Text in nested Master Pages from Content on button click单击按钮时从内容更改嵌套母版页中的 Label.Text
【发布时间】:2012-05-04 17:43:48
【问题描述】:

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

这是问题的抽象视图。

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

提前致谢。

【问题讨论】:

标签: c# asp.net master-pages


【解决方案1】:

试试这样。可能有帮助

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

【讨论】:

  • 你能告诉我"MainContent"FindControl() 中是什么吗?
  • ParentMaster 的 ConentPlaceHolder
【解决方案2】:

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    相关资源
    最近更新 更多