从类文件访问母版页属性

时间:2015-11-24 18:29:37

标签: 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);
    }
}

data.cs

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

1 个答案:

答案 0 :(得分: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;

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