下面讲一下如何调用
一。方法一: FindControl方法通过控件ID找控件
需要在此事件中获取母版页控件,因为Page_load中时是先内容页加载然后才是母版页加载
protected void Page_LoadComplete(object sender, EventArgs e)
{
lblTime.Text = "现在时间是:" + (Master.FindControl("Label1") as Label).Text;
}
二。方法二 通过强引用
在内容页上加一个指令 <%@ MasterType VirtualPath="~/Master/MenuElement.master"%> //母版页名称MenuElement.master
就可以直接使用母版页的属性及方法调用:
母版页中定义公共属性或方法
public string GetUserName()
{
return Page.User.Identity.Name;
}
在内容页中调用
lblUserName.Text = "欢迎光临:" + Master.GetUserName(); //属性使用类似
当然,也可以通过Master属性获取母版页的控件
contentlabel.Text = (Master.FindControl("masterlabel") as Label).Text;
最后,为什么要用Master属性才能获取母版页的数据,是由于 asp.net 先加载内容页再加载母版页。