Я просто играю с jQuery и MVC3 в данный момент, и мне интересно, как я могу отправить форму, которая была динамически загружена в диалог jQueryUI?
Мой код пока состоит из ...
Javascript / jQuery
$(document).ready(function () {
$('.trigger').live('click', function (event) {
var id = $(this).attr('rel');
var dialogBox = $("<div>");
$(dialogBox).dialog({
autoOpen: false,
resizable: false,
title: 'Edit',
modal: true,
show: "blind",
hide: "blind",
open: function (event, ui) {
$(this).load("PartialEdit/" + id.toString());
}
}
});
$(dialogBox).dialog('open');
}) });
cshtml
<h2>Detail</h2><a href="#" class="trigger" rel="1">Open</a>
Контроллер
public ActionResult PartialEdit(int id)
{
return PartialView(new EditViewModel() { Name = id.ToString() });
}
[HttpPost]
public ActionResult PartialEdit(int id, FormCollection collection)
{
// What to put here???
}
Частичное представление
....@using (Html.BeginForm()){....Html.EditorFor(model => model.Name).....}....
Как вы можете видеть, load () в jQuery вызывает PartialView с именем PartialEdit.
Форма загружается нормально, но я не могу понять, как на самом деле отправить форму?
Вопросы
Как заставить пользовательский интерфейс отправить форму и закрыть диалоговое окно? Что должен вернуть [HttpPost] PartialEdit?
На данный момент у меня есть кнопка отправки в частичном представлении. При нажатии форма отправляется, а браузер выполняет все, что возвращает [HttpPost] PartialEdit (в настоящее время отображается пустая страница).
Однако после отправки я хотел бы вместо этого инициировать событие на стороне клиента (возможно, полное или частичное обновление страницы в зависимости от контекста, в котором оно используется). Я не уверен, с чего начать?
Кроме того, следует ли разместить кнопку отправки в PartialView или использовать кнопки в диалоговом окне jQuery-UI?
Любые предложения / указатели приветствуются.