这是我的母版页文件.我需要在子页面中输入strName,id,url,startime等变量.我知道我们也可以在我们的子页面中编写这个逻辑.但是,我想仅在子页面中访问此母版页变量.请建议.我不能在每个set/get方法中编写这个逻辑.在子页面中访问这些变量时,我得到空值.基本上这里是在子页面调用之后调用的主页面调用
1)MASTER PAGE NAME:MyMasterPage
public partial class MyMasterPage: MasterPage
{
public string strName = string.Empty;
public string id= string.Empty;
public string url = string.Empty;
public string startTime = string.Empty;
public string endTime = string.Empty;
public string remoteUrl = string.empty;
public void Page_Load(object sender, EventArgs e)
{
DataTable dtEventTable = DataAccessManager.GetEventInfo(Connection);
if (dtEventTable.Rows.Count > 0)
{
strName = dtEventTable.Rows[0]["NAME"].ToString();
id = dtEventTable.Rows[0]["ID"].ToString();
url= dtEventTable.Rows[0]["URL"].ToString();
starttime = dtEventTable.Rows[0]["starttime"].ToString();
endtime = dtEventTable.Rows[0]["endtime"].ToString();
remotelive = dtEventTable.Rows[0]["remotelive"].ToString();
// assume that strName = "TCG",id=5, startime=20111001 etc.
}
}
}
Run Code Online (Sandbox Code Playgroud)
Muh*_*han 13
string name = ((MyMasterPage)this.Master).strName;
Run Code Online (Sandbox Code Playgroud)
Ramesh T 在https://forums.asp.net/post/5557778.aspx上发现了此内容
您最好通过在内容(aspx 页面)中添加 @ MasterType 指令来创建对母版页的强类型引用,如下所示
Run Code Online (Sandbox Code Playgroud)<%@ MasterType virtualPath="~/MasterPage1.master"%>并在您的 aspx 页面或隐藏代码 (aspx.cs) 中访问其成员,如下所示
Run Code Online (Sandbox Code Playgroud)var test1Text = Master.test1;
这样你就不需要投射了。