在运行时为特定页面选择母版页

时间:2013-07-17 04:06:51

标签: asp.net c#-4.0 visual-web-developer

我有一个asp页面employeeHome.aspx,我有两个主页adminMasterPage.master用于Admin登录,userMasterPage.master用于普通用户登录,因为我有两种类型的用户登录,一个是Admin和其他普通用户。我希望在正常用户登录的情况下将adminMasterPage.master设置为employeeHome.aspx的母版页(仅针对此页面)。 我怎么能这样做?

4 个答案:

答案 0 :(得分:3)

将代码更改为Page_PreInit事件中的母版页。

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

答案 1 :(得分:1)

将代码放在employeeHome.aspx页面

 protected void Page_PreInit(object sender, EventArgs e)
        {
            if (Session["empCode"] != null)
            {
                if (Session["empCode"].ToString() != "0")
                {
                    this.MasterPageFile = Server.MapPath("adminMasterPage.master");
                }
            }
        }

答案 2 :(得分:0)

您可以通过在PreInit事件中指定所需的母版页文件来更改它,这是页面生命周期的一部分。

protected void Page_PreInit(object sender, EventArgs e) 
{
    this.MasterPageFile = "adminMasterPage.master";  //For Admin

    //this.MasterPageFile = "userMasterPage.master";  - For Normal User
}

答案 3 :(得分:0)

这就是这种方式,在这里,我做了@Iswanto San的建议,并改变了路径。

protected void Page_PreInit(object sender, EventArgs e)
    {
        if (Session["IsEmporAdm"].ToString() == "0")
        {
            this.MasterPageFile = "~/StyleLibrary\\layout\\AdminMaster.Master";
        }
        else
        {
            this.MasterPageFile = "~/StyleLibrary\\layout\\UserMaster.Master";
        }
    }