繁体   English   中英

如何在运行时更改页面的母版页?

[英]How can I change my page's Master Page at runtime?

我的一个项目中有一项要求,我需要在运行时更改母版页。

我的意思是我需要申请支票,并且可以在该支票的基础上将特定的母版页调用到我的本机aspx页面。

请同样帮我。

提前致谢 :)

例如:

void Page_PreInit(Object sender, EventArgs e)
{
    this.MasterPageFile = "~/NewMaster.master";
}

根据需要应用条件。 这里

是。 仅在PreInit页面事件期间(即在运行时开始处理请求之前)设置MasterPageFile属性(因为使用母版页进行页面渲染发生在Init事件之前)

protected void Page_PreInit(object sender, EventArgs e)
{
       MasterPageFile = "simple2.master";
}

如果尝试在Init或Load事件处理程序中设置MasterPageFile属性,则会引发异常。

是的,有可能,实现如下

在ASP.NET 2.0中动态加载母版页

为了实现这一点,我们需要在页面呈现之前在Page_PreInit中编写代码。

将以下代码放入您的代码后面:

if (Session["userType"] == "Admin") //check the user type
    this.Page.MasterPageFile = "~/Admin.master";
 else
    this.Page.MasterPageFile = "~/User.master";

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM