【问题标题】:Can we change the masterpage dynamically based on condition [duplicate]我们可以根据条件动态更改母版页吗[重复]
【发布时间】:2013-05-21 19:03:37
【问题描述】:

我在项目中有两个母版页。根据角色,我想使用其中一个母版页。

【问题讨论】:

    标签: c# asp.net


    【解决方案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)
            {
    
            }
        }
    

    【讨论】:

    • 如果您尝试以任何其他方法或事件更改母版页,它会说您只能在 preinit 方法中更改母版页
    • 请注意:如果使用 MVC,您可以使用控制器中的 OnActionExecuted 覆盖来更改主控。
    【解决方案2】:

    你可以。您需要在页面的PreInit 事件中进行:

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

    您需要对每个Page 执行此操作。母版页实际上不是页面的一部分(正如您可能期望的那样)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多