ASP.Net动态切换母版页

时间:2014-09-04 10:01:18

标签: asp.net webforms

之前从未需要这样做但是可以动态设置/更改页面正在使用的母版页吗?有一个旧的asp.net web表单项目,我已经创建了一个新的bootstrap模板,但老板想让人们有机会打开新的,而不是强迫它们。

2 个答案:

答案 0 :(得分:3)

我建议您创建一个BasePage类,而不是在该类中编写此方法,并从该类继承其主页可以动态更改的所有页面。

public class BasePage: System.Web.UI.Page
{
protected void Page_PreInit(object sender, EventArgs e)
{
    try
    {
        if (conduction1)
            this.Page.MasterPageFile = "~/MasterPage.master";
        else
            this.Page.MasterPageFile = "~/Master.master";

    }
    catch (Exception ex)
    {

    }
}
}

然后在你的页面中继承BasePage这样的页面

public partial class _Default:BasePage

答案 1 :(得分:1)

仅在preint事件

中更改母版页
protected void Page_PreInit(object sender, EventArgs e)
    {
        try
        {
            if (conduction1)
                this.Page.MasterPageFile = "~/MasterPage.master";
            else
                this.Page.MasterPageFile = "~/Master.master";

        }
        catch (Exception ex)
        {

        }
    }

void page_PreInit(object sender, EventArgs e)
{
   Page page = sender as Page;
   page.MasterPageFile = "string location of masterpage";
}