无法在使用它的页面中获取母版页控件

时间:2011-03-11 06:17:56

标签: c# asp.net master-pages

我的母版页面中有一个Label我希望在使用相同母版页的页面中访问。 我试过..

string text = ((Label)Master.FindControl("myLabel")).Text; //Always returns empty string

P.S我已经<%@ MasterType virtualpath="~/Masters/Master1.master" %> 仍然没有工作

2 个答案:

答案 0 :(得分:2)

作为评论中提到的Waqas Raja,问题出在事件序列中:master的Load事件发生在页面的Load事件之后。因此,您只需在页面中使用Page.LoadComplete事件:

protected void Page_LoadComplete(object sender, EventArgs e)
{
    string text = ((Label)Master.FindControl("myLabel")).Text;
}

它应该为您提供所需的文本框值。

答案 1 :(得分:0)

我在主页中标记的东西驻留在内容占位符中。所以

 ContentPlaceHolder mpContentPlaceHolder = 
      (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
  string  TextBoxvalue = 
            ((TextBox) mpContentPlaceHolder.FindControl("TextBox1")).Text;