Сейчас я просто играю с 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?
Любые предложения / указатели приветствуются.