我知道这是一个奇怪的情况,但为了不再需要两次相同的页面,我必须这样做。
我有一个通过弹出窗口打开的webform,它目前没有母版页,因为它是通过主窗体打开的。
所以,我的客户告诉我,我必须通过这个弹出窗口或主窗体附近的菜单打开它。如果我通过菜单打开它,它将像普通页面一样打开,需要包含母版页布局。
这可能吗?
答案 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
,并将它们设置为不可见的,我不想要母版页布局。
这显然是一个肮脏的黑客,但它有效。