如何动态设置主页面?该问题涉及IT技术。

14

我想根据用户ID设置同一页面的不同主控页(即为一个用户设置一个主控页,为另一个用户设置另一个主控页)。我们能否动态地为任何页面设置不同的主控页?


1
可能是以编程方式设置母版页的母版页的重复问题。 - Tim Schmelter
3个回答

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

解释:您可以动态地将主页附加到内容页。因为主页和内容页在页面处理的初始化阶段合并,所以必须在此之前分配主页。通常,在预初始化阶段动态分配主页。


6

2
您可以通过设置页面的MasterPageFile属性来实现。然而,如果在PreInit事件之后调用此属性,将会引发InvalidOperationException异常。请参阅ASP.NET页面生命周期

MasterPageFile属性只能在PreInit事件中设置;尝试在PreInit事件之后设置MasterPageFile属性将引发InvalidOperationException异常。如果MasterPageFile属性无效,则在页面生命周期的后期将引发HttpException类型的异常,但是在PreInit事件中设置该属性时不会引发异常。


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