我有几个 aspx 页面,可以正常打开(在浏览器中全屏),也可以从另一个页面作为弹出窗口调用(我正在使用 Greybox,fwiw)
如果页面在灰盒中作为弹出窗口打开,我不想显示母版页内容(显示常见的顶部和左侧菜单等)。
据我所知,没有办法知道服务器端页面是否是弹出窗口,这必须在客户端 JavaScript 中检测到(在 Greybox 的情况下,通过检查 window.parent.parent),因此母版页内容也必须通过 JavaScript 隐藏。
关于如何解决这个问题有什么想法吗?
最佳答案
为弹出窗口创建一个简化的母版页。重写(实际页面的)OnPreInit 方法并根据查询字符串参数切换母版页:
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
if(Request["PopUp"] == "Y")
{
MasterPageFile = "~/MyPopUp.master";
}
}
关于asp.net - 如果页面作为弹出窗口打开,是否可以隐藏 ASP.NET 母版页的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/299414/