c# - 从类文件访问母版页属性

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

数据.cs

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

最佳答案

页面的 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;

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

关于c# - 从类文件访问母版页属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33901172/

相关文章:

mysql - .NET core 1.0 连接到 Linux 上的 MySQL

c# - 使用 HtmlAgilityPack 解析 dl

asp.net - jQuery 自动完成在 AutoPostBack 上丢失文本

c# - 单击一个控件后,列出所有具有匹配的 onclick 属性的 asp.net 控件

c# - 编译委托(delegate)表达式的性能

c# - 哪些现有的 CLR 主机不提供托管和非托管线程之间的一对一映射?

asp.net - Ajax 请求 : application/x-www-form-urlencoded params

javascript - 当没有实际发送数据时使用什么 HTML 表单操作?

c# - 在 Newtonsoft JSON 中转义引号

c# - 继承自 Array 类