打开/关闭母版页以获取webform

时间:2016-09-15 14:07:07

标签: asp.net webforms master-pages

我知道这是一个奇怪的情况,但为了不再需要两次相同的页面,我必须这样做。

我有一个通过弹出窗口打开的webform,它目前没有母版页,因为它是通过主窗体打开的。

所以,我的客户告诉我,我必须通过这个弹出窗口或主窗体附近的菜单打开它。如果我通过菜单打开它,它将像普通页面一样打开,需要包含母版页布局。

这可能吗?

2 个答案:

答案 0 :(得分:0)

我认为你有两个选择:

通过代码设置:

 protected override void OnPreInit(EventArgs e)
    {
      base.OnPreInit(e);
      if(xy)
      {  
        this.MasterPageFile = "~/MyMaster.Master"; //Path to masterpage '~' if rootfolder
      }
      else
      {
        this.MasterPageFile = "";
      }
    }

使用UserControl:

创建一个包含当前页面代码的Usercontrol(.ascx)。然后使用母版页创建第二页(.aspx)并在两个页面上注册控件。

有关UserControls的一些信息:

https://msdn.microsoft.com/en-us/library/y6wb1a0e.aspx?f=255&MSPPError=-2147217396 https://msdn.microsoft.com/en-us/library/sbz9etab.aspx

答案 1 :(得分:-1)

我必须采用不同的方法。

我将母版页(页眉,页脚,菜单)上的所有元素都设置为runat=server,并将它们设置为不可见的,我不想要母版页布局。

这显然是一个肮脏的黑客,但它有效。