C# 动态母版页,可访问两个母版中的变量

C# 动态母版页,可访问两个母版中的变量,c#,asp.net,visual-studio,visual-studio-2015,master-pages,C#,Asp.net,Visual Studio,Visual Studio 2015,Master Pages,我有两个母版页,一个是桌面版,另一个是手机版, 并且取决于我动态使用的设备,桌面或移动母版页。 但是我无法从母版页中的子ASPX页访问变量 隐藏的ASPX代码: protected override void OnPreInit(EventArgs e) { if (Request.Browser.IsMobileDevice) { this.MasterPageFile = "MobileMasterPage.master"; } else

我有两个母版页,一个是桌面版,另一个是手机版, 并且取决于我动态使用的设备,桌面或移动母版页。 但是我无法从母版页中的子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    
}   

我怎样才能修复它呢?

你可以这样访问它

var master = (Site1)Page.Master;
master.TinyMceWidth = 1000;
Site1
是母版页的类名

public partial class Site1 : System.Web.UI.MasterPage
{
}
因为您有两个主控形状,所以需要为它们创建两个变量

var masterMobile = (Site2)Page.Master;

你可以使用MVC的区域吗?