我有一个Web表单,我希望它可以被masterpage1和masterpage2访问。可能吗?如果是,怎么办?

提前致谢。

最佳答案

为了简化起见,假设您将状态存储在Session中,该状态选择了后面的母版页。在此示例中,您可以拥有2个母版页,并且只能同时使用其中一个:

//PreInit event of your desired page
protected override void OnPreInit(EventArgs e)
{
    if (!string.IsNullOrEmpty(Page.MasterPageFile))
    {
        if (Session["MyStatus"] == "1")
        {
            Page.MasterPageFile = "~/MyMaster1.master";
        }
        else
        {
            Page.MasterPageFile = "~/MyMaster2.master";
        }
    }
}


如果要动态嵌套两个母版页,则可以采用这种方式。在这里,您同时拥有2个母版页:

protected override void OnPreInit(EventArgs e)
{
    if (!string.IsNullOrEmpty(Page.MasterPageFile))
    {
        if (Session["NestMaster"] == "1")
        {
            //setting a MasterPage to the Masterpage of the current page
            Page.Master.MasterPageFile = "~/MasterMaster.master";
        }
    }
}

关于c# - 是否可以在多个母版页中调用Web表单?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40906112/

10-13 03:34