2016-09-15 28 views
-1

我知道这是一个奇怪的情况,但这是我必须做的事情,为了不再需要相同的页面。打开/关闭网页形式的母版页

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

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

这可能吗?

+1

不太可能。如果一个页面应该是一个内含主页的页面,它不包含整个标记,甚至不包含表单。没有主人的那个网页根本行不通。你可以做的是有两个不同的母版页,并根据页面打开的方式在它们之间交替。这是非常可行的 – Andrei

+0

我认为创建一个空白母版页并设置'this.MasterPage =“myBlankMasterPage.cs”'应该工作,然后呢? – Phiter

+0

不太确定。您的页面需要更改,首先要与其他页面类似。 – Andrei

回答

0

我认为你有两个选择:

设置通过代码:

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

使用用户控件:

创建一个用户控件(的.ascx),它包含了当前页面的代码。然后用masterpage创建第二个页面(.aspx)并在两个页面上注册控件。

有关用户控件的一些信息:

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

+0

没有工作。我做了一些不同的事。 – Phiter

-1

我不得不使用不同的方法。

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

这显然是一个肮脏的黑客,但它的工作。