最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Is it possible to hide the content of an asp.net master page, if page is opened as a popup? - Stack Overflow

programmeradmin0浏览0评论

I have several aspx pages that can be opened either normally (full screen in browser), or called from another page as a popup (I am using Greybox, fwiw)

If the page is opened as a popup in Greybox, I would like to NOT display the master page content (which displays mon top and left menus, etc).

As far as I know, there is no way of knowing server side if the page is a popup, this must be detected in client side javascript (in the case of Greybox, by checking window.parent.parent), and therefore the master page content must be hidden via javascript as well.

Any ideas on how to approach this?

I have several aspx pages that can be opened either normally (full screen in browser), or called from another page as a popup (I am using Greybox, fwiw)

If the page is opened as a popup in Greybox, I would like to NOT display the master page content (which displays mon top and left menus, etc).

As far as I know, there is no way of knowing server side if the page is a popup, this must be detected in client side javascript (in the case of Greybox, by checking window.parent.parent), and therefore the master page content must be hidden via javascript as well.

Any ideas on how to approach this?

Share Improve this question asked Nov 18, 2008 at 17:11 tbonetbone 5,86522 gold badges93 silver badges140 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 9

Create a simplified master page for the popup. Override the OnPreInit method (of the actual page) and switch out the masterpage based on a querystring argument:

protected override void OnPreInit(EventArgs e)
{
        base.OnPreInit(e);

        if(Request["PopUp"] == "Y")
        {
            MasterPageFile = "~/MyPopUp.master";
        }
}

Well you could conditionally render the navigation controls etc. based on a querystring, pass the string in when it's a popup and if it exists don't render the controls. There are a few different ways to do it, but I think you should have the server not render the controls rather than client side hiding them.

P.S. Haven't heard of Greybox so I can't offer any specific insight there.

I agree. This is a server-side problem, not something to scrape into shape on the client side. It may also be valuable to organize your web pages where the mon content between the pop-up and a main page is maintained separately and imported server-side into the page that has the master-page surround. Pages that link pop-ups should use the ment content, not the surrounder.

Lots of ways to do this (but I don't suppose anyone wants to know how FrontPage extensions help). Try server-side includes.

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论