Можно ли скрыть содержимое главной страницы asp.net, если страница открывается как всплывающее окно?

У меня есть несколько страниц aspx, которые можно открыть либо нормально (полный экран в браузере), либо вызывать с другой страницы как всплывающее окно (я использую Greybox, fwiw)

Если страница открыта как всплывающее окно в Greybox, я бы не хотел отображать содержимое главной страницы (которое отображает общие верхние и левые меню и т. Д.).

Насколько мне известно, нет способа узнать серверную сторону, если страница является всплывающей, это должно быть обнаружено на стороне javascript на стороне клиента (в случае с Greybox, путем проверки window.parent.parent), и поэтому главная страница содержимое должно быть скрыто также через javascript.

Любые идеи о том, как подойти к этому?

asp.net,javascript,

2

Ответов: 3


9 принят

Создайте упрощенную главную страницу для всплывающего окна. Переопределите метод OnPreInit (фактической страницы) и отключите главную страницу на основе аргумента запроса:

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

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

1

Ну, вы можете условно отобразить элементы управления навигацией и т. Д. На основе запроса, передать строку в том случае, когда она всплывает, и если она существует, не отображать элементы управления. Есть несколько способов сделать это, но я думаю, вы должны иметь сервер, который не отображает элементы управления, а не клиентскую сторону.

PS Не слышал о Greybox, поэтому я не могу предложить там никакой конкретной проницательности.


0

Согласен. Это проблема на стороне сервера, а не что-то, что можно соскрести в форму на стороне клиента. Также может быть полезно организовать ваши веб-страницы, где общий контент между всплывающим окном и главной страницей поддерживается отдельно и импортируется на стороне сервера на страницу, на которой есть объемная страница главной страницы. Страницы, которые связывают всплывающие окна, должны использовать контент комментариев, а не сюжет.

Много способов сделать это (но я не думаю, что кто-то хочет знать, как расширения FrontPage помогают). Попробуйте серверную часть.

asp.net, JavaScript,
Похожие вопросы