从类文件访问母版页属性

nav*_*100 2 c# asp.net webforms master-pages

如何从.cs文件访问母版页属性?我尝试了下面的代码,但我无法访问它.请让我知道.

母版页属性:

public int TypeID
{
    get
    {
        return Convert.ToInt32(this.ViewState["TypeID"]);
    }
    set
    {
        this.ViewState.Remove("TypeID");
        this.ViewState.Add("TypeID", value);
    }
}
Run Code Online (Sandbox Code Playgroud)

data.cs

var pageHandler = HttpContext.Current.CurrentHandler;
if (pageHandler  is  System.Web.UI.Page)
{
    typeId = Convert.ToInt32((System.Web.UI.Page)pageHandler).Master.TypeID;
}
Run Code Online (Sandbox Code Playgroud)

mas*_*son 9

Master页面的属性输入为System.Web.UI.MasterPage.要查看TypeId属性,您需要转换Master为特定母版页的类型.

var page = (System.Web.UI.Page)pageHandler
var master = (MyMasterType)page.Master; //Replace MyMasterType with the class name from your masterpage.cs file.
var typeId = master.TypeId;
Run Code Online (Sandbox Code Playgroud)

如果应用程序中有多个主类型,或者某些页面没有母版页,则需要小心将其转换为特定的主类型.