【问题标题】:Dynamic Master Page with access to variables in both masters动态母版页,可访问两个母版中的变量
【发布时间】:2019-06-02 03:02:32
【问题描述】:

我有两个母版页,一个用于桌面,另一个用于移动, 并且取决于我动态使用桌面或移动母版页的设备。 但我无法从母版页中的子 ASPX 页面访问变量。

背后的 ASPX 代码:

protected override void OnPreInit(EventArgs e)
{
    if (Request.Browser.IsMobileDevice)
    {
        this.MasterPageFile = "MobileMasterPage.master";
    }
    else
    {
        this.MasterPageFile = "MasterPageDesktop.master";
    }           
}

在两个母版页中都有变量

public int TinyMceWidth { get; set; }
public int TinyMceHeight { get; set; }

但我无法从 ASPX 后面的代码中访问这两个变量:

protected void Page_Load(object sender, EventArgs e)
{            
    Master.TinyMceWidth = 1000; // Can't access 
    Master.TinyMceHeight = 1000; // Can't access    
}   

我该如何解决?

【问题讨论】:

  • 你可以使用MVC的领域吗?

标签: c# asp.net visual-studio visual-studio-2015 master-pages


【解决方案1】:

你可以这样访问它。

var master = (Site1)Page.Master;
master.TinyMceWidth = 1000;

Site1 是母版页的类名

public partial class Site1 : System.Web.UI.MasterPage
{
}

所以因为你有 2 个主人,你需要为他们创建 2 个变量

var masterMobile = (Site2)Page.Master;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 2011-04-08
    • 1970-01-01
    相关资源
    最近更新 更多