第一种方法:

  在母版页里面新建一个Label控件

  <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

  </asp:ContentPlaceHolder>

  <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

  在内容页里面我们可以使用以下代码访问:

  Label lbl =(Label)Master.FindControl("Label1");

  lbl.Text = "first";

  第二种方法:

  我们可以在母版页的后台代码类中添加自定义属性

  public string LabelText

  {

  get{return this.Label1.Text;}

  set{this.Label1.Text = value;}

  }

  然后在内容页里面添加如下代码:

  <%@ MasterType VirtualPath="~/MasterPage.master" %>

  这样我们就可以直接在代码页中用如下属性访问了

  Master.LabelText = "second";

  不管是第一种还是第二种方法

  如果将母版页代码改成如下:

  <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

  <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

  </asp:ContentPlaceHolder>

  就会报如下运行时错误

  未将对象引用设置到对象的实例。

posted on 2017-01-02 14:55  qqhfeng16  阅读(369)  评论(0编辑  收藏  举报