ASP.NET MVC Диалог поставлен в тупик - PullRequest
0 голосов
/ 14 февраля 2010

Я использую диалог пользовательского интерфейса jQuery, чтобы открыть базовую форму. Я хочу отправить эту форму и закрыть диалог. У меня проблемы.

Родительское окно открывает диалог (который содержит частичное представление) от щелчка и форма отправляется, они браузер открывает частичное представление в браузере. Я хочу, чтобы он работал с формой и закрывал диалог.

Есть ли способ сделать это VIA Ajax.SubmitForm или каким-либо другим методом.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2010

Я нашел идеальное решение и не могу поверить, что я не мог решить его раньше. Просто используйте Ajax.BeginForm, используя функцию OnSuccess AjaxOptions.

<% using (Ajax.BeginForm("Action", "Controller", new AjaxOptions { OnSuccess = "CloseDialog" })) { %>
    <%= Html.Hidden("ID", ViewData["ID"]) %>
    <input type="submit" value="Submit" />
<% } %>

function CloseDialog() {
    $("#ImageCropModal").dialog("close");
}

Публикуется в форме без повторного рендеринга представления. Я могу закрыть диалоговое окно вручную после успешного завершения публикации формы.

0 голосов
/ 14 февраля 2010

Вам необходимо захватить событие отправки формы, отправить форму через Ajax, закрыть диалоговое окно, а затем Return False, чтобы браузер не мог повторно отправить форму и выполнить полный постбэк.

...