第一种方法:
在母版页里面新建一个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>
就会报如下运行时错误
未将对象引用设置到对象的实例。