我知道这是一个奇怪的情况,但这是我必须做的事情,为了不再需要相同的页面。打开/关闭网页形式的母版页
我有一个通过弹出打开的web窗体,它目前没有母版页,因为它通过主窗体打开。
所以,我的客户告诉我,我必须通过这个弹出窗口或通过主窗体附近的菜单打开它。如果我通过菜单打开它,它将像普通页面一样打开,并且需要包含母版页布局。
这可能吗?
我知道这是一个奇怪的情况,但这是我必须做的事情,为了不再需要相同的页面。打开/关闭网页形式的母版页
我有一个通过弹出打开的web窗体,它目前没有母版页,因为它通过主窗体打开。
所以,我的客户告诉我,我必须通过这个弹出窗口或通过主窗体附近的菜单打开它。如果我通过菜单打开它,它将像普通页面一样打开,并且需要包含母版页布局。
这可能吗?
我认为你有两个选择:
设置通过代码:
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
没有工作。我做了一些不同的事。 – Phiter
我不得不使用不同的方法。
我将主页面(页眉,页脚,菜单)上的所有元素设置为runat=server
,并将它们设置为不可见,而不需要母版页布局。
这显然是一个肮脏的黑客,但它的工作。
不太可能。如果一个页面应该是一个内含主页的页面,它不包含整个标记,甚至不包含表单。没有主人的那个网页根本行不通。你可以做的是有两个不同的母版页,并根据页面打开的方式在它们之间交替。这是非常可行的 – Andrei
我认为创建一个空白母版页并设置'this.MasterPage =“myBlankMasterPage.cs”'应该工作,然后呢? – Phiter
不太确定。您的页面需要更改,首先要与其他页面类似。 – Andrei