动态母版页,可访问两个母版中的变量
Posted
技术标签:
【中文标题】动态母版页,可访问两个母版中的变量【英文标题】: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的领域吗? 【参考方案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;
【讨论】:
以上是关于动态母版页,可访问两个母版中的变量的主要内容,如果未能解决你的问题,请参考以下文章
asp.net 如何从具有嵌套母版页的内容页更改父母版页中的控件