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

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

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

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

Есть идеи, как к этому подойти?

Ответы [ 3 ]

9 голосов
/ 18 ноября 2008

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

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

        if(Request["PopUp"] == "Y")
        {
            MasterPageFile = "~/MyPopUp.master";
        }
}
1 голос
/ 18 ноября 2008

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

P.S. Я не слышал о Greybox, поэтому я не могу предложить какую-либо конкретную информацию там.

0 голосов
/ 18 ноября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...