我正在尝试从内容页面在母版页中设置标签,而不是使用 FindControl。因此,在母版页中我声明:
public partial class MainMasterPage : System.Web.UI.MasterPage
{
public string UserOfficeLabel
{
get { return lblUserOffice.Text; }
set { lblUserOffice.Text = value; }
}
public string OfficeLocationLabel
{
get { return lblOfficeLocation.Text; }
set { lblOfficeLocation.Text = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
....
}
}
“UserOfficeLabel”和“OfficeLocationLabel”是母版页上的标签。然后在内容页面(.aspx)中,我在“页面”指令下添加了以下指令:
<%@ MasterType VirtualPath="~/Main/MainMasterPage.master" %>
在内容页面后面的代码(.cs 文件)中,我尝试访问/设置标签:
Master.UserOfficeLabel = ...
但是 UserOfficeLabel 不是 Master 的选项(VS Intellisense 没有将其列为选项)。当我无论如何添加它时,它会说“MainMasterPage.UserOfficeLabel 无法访问其保护级别”