如何动态更改主控页

4
我想为一个纯ASPx文件动态指定一个主模板页面,有人能告诉我怎么做吗?
2个回答

6

您可以在default.aspx.cs中重写OnPreInit,并根据查询字符串中的某个值设置主页面。大致如下:

protected override void OnPreInit(EventArgs e)
    {
        base.OnPreInit(e);
        if (Request.QueryString["Master"] == "Simple")
            MasterPageFile = "~/Masterpages/Simple.Master";
    }

编辑:您收到的错误消息可能是由此问题引起的。


内容控件必须是内容页或引用主页面的嵌套主页面中的顶级控件。抱歉,我已经使用过了,但是我收到了上述错误消息,无法打开它。 - Developer404
我已经尝试过了,但是出现了以下错误消息:内容控件必须是内容页或引用主控件的嵌套主控件中的顶层控件。System.Web.HttpException: 内容控件必须是内容页或引用主控件的嵌套主控件中的顶层控件。 - Developer404

0

我留下了ContentPlaceholder来添加内容... 实际上,我尝试分配母版页而不使用ContentPlaceHolder... 现在,我意识到,即使我们会动态更改母版页,至少应该有一个ContentPlaceholder存在于临时的情况下。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接