Всплывающее окно в .NET MVC - PullRequest
       14

Всплывающее окно в .NET MVC

4 голосов
/ 21 сентября 2010

У меня есть требование заполнить новое окно (без меню, без адресной строки), используя имеющиеся у меня данные на странице.
Я использую функцию сценария java для этой цели.

function popup() {
        window.open("../AcknowledgeStatements/OutStandingAckInPdf", '', 'scrollbars=yes,width=740,height=600,resizable=yes');
    }


<input name="cmdButton" id="cmdPrint" type="button" class="button" value="Print"  onclick="popup()"/>

Как передать мои Model и TempData / ViewData на этой странице всплывающему окну?Может ли кто-нибудь помочь мне в этом?

1 Ответ

2 голосов
/ 12 января 2011

Ну, так как вы не хотите видеть меню или адресную строку, я бы также добавил menubar = no, location = no к вашим необязательным аргументам спецификации.Вы можете найти полный список параметров здесь

Теперь, что касается передачи данных в ваше новое окно: window.open, у вас нет никакого способа сделать это.Что вам нужно сделать, это передать любые данные, которые вы хотите отобразить во всплывающем окне, на сервер в виде аргументов GET

function popup() {
    window.open("../AcknowledgeStatements/OutStandingAckInPdf?SomeParam=SomeValue&SecondParam=SomeValue", '', 'scrollbars=yes,width=740,height=600,resizable=yes');
}

, а затем передать ваши данные в представлении.Но у remmeber есть ограничения на это, поскольку параметры GET могут быть ограничены по длине до максимальной длины веб-адреса.Я думаю, это 1024 символа, но не указывайте меня на это.

В любом случае, еще больше.Зачем вам нужны эти данные для отображения во всплывающем окне.Всплывающие окна - пережиток прошлого, который обычно просто раздражает пользователей.Большинство современных браузеров, как правило, блокируют всплывающие окна и требуют, чтобы пользователь явно разрешил их отображение.Вы можете сэкономить себе поездку на сервер, если предварительно включите шаблон (хорошее объяснение того, что с ним можно сделать) в исходный HTML-код, а затем отобразите его в виде диалогового окна ..ИМХО, это гораздо более дружественный вариант, чем всплывающие окна.

...