Модальный JavaScript: новое окно открывается при отправке формы - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть представление в asp.net mvc 3, и мне нужно открыть его в модальном javascript.Мой взгляд имеет простую форму, например:

@using(Html.BeginForm("Save", "ControllerName"))
{
  @Html.TextBoxFor(model => model.Text)
  @Html.ValidationMessageFor(model => model.Text)

  <button type="submit">Save</button>
}

Я называю showModalDialog следующим образом:

  window.showModalDialog('@Url.Action("Show", "ControllerName")');

Итак, когда я нажимаю кнопку сохранения без заполнения входовНапример, открывается новое окно, отображающее представление с ошибками проверки.Почему так происходит?Могу ли я отправить форму, не открывая новое окно?Спасибо.

1 Ответ

1 голос
/ 17 февраля 2012

Да, я сам видел, что то же самое происходит при использовании showModalDialog в IE.

Мое решение состояло в том, чтобы открыть документ, который содержит фрейм (frameset или iframe) со страницей, которую вы хотите. Кадр можно отправить обратно, не открывая новое окно.

Я бы предложил создать страницу / представление "Диалог", которая принимает реальную страницу / представление в качестве аргумента. В коде де установите src фрейма для этой страницы / представления.

В качестве альтернативы вы можете посмотреть модальные вещи, которые есть в jQuery UI. Это создало иллюзию модальности, а не настоящего окна.

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