首先创建一个用户控件Header其中包括一个Label服务器控件名字为:showUserName
又创建了一个母版页MasterPage.master,并将创建的用户控件Header加入.
又用这个母版页创建了一个普通的页面Default.aspx,其中包括一个Button1按钮
想通过点击Button1按钮让母版页中的用户控件Header中的showUserName显示"ab".
方法一如下:
1.在用户控件Header的后面代码Header.ascx.cs中建一个公有属性如下:
public string UserName
{
set
{
this.showUserName.Text = value;
}
}
2. 在母版页MasterPage.master.cs中建一个公有属性如下:
public string UserName
{
set
{
this.Header.UserName = value; //Header为用户控件的ID
}
}
3.普通的页面后台代码:Default.aspx.cs中的Button1单击事件:
protected void Button1_Click(object sender, EventArgs e)
{
(this.Master as MasterPage).UserName = "abc";
}
方法二:
直接在普通的页面后台代码:Default.aspx.cs中的Button1单击事件:
Label tb=(Label)Master.FindControl("Header").FindControl("showUserName");
if (tb != null)
tb.Text = "abc";
这样就可以通过单击Button1按钮来在母版页的用户控件中显示abc.也可以通过种方法来实现到母版页的元素的引用.
方法三:
在普通的页面前台中加入:
<%@ MasterType VirtualPath="~/MasterPage.master" %>
后台代码:Default.aspx.cs中这样引用:
Master.UserName = "abc"