Я использую MVC Ajax для отправки формы. Что я не могу сделать правильно, так это заставить действие на сервере вернуть частичное представление в браузер.
Форма отправки выглядит следующим образом:
<% using (Ajax.BeginForm("Add", "Example", new AjaxOptions { HttpMethod = FormMethod.Post.ToString(), OnComplete = "widgetAdded" } )) { %>
При попадании на сервер действие выполняется. Метод JavaScript 'widgetAdded', который выполняется после завершения действия, выглядит примерно так:
function widgetAdded(ajaxContext) {
var response = ajaxContext.get_response().get_object();
alert(response);
}
Если я возвращаю результат Json в таком действии, это работает - предупреждение показывает данные, передаваемые с сервера.
return Json("bob");
Теперь, если я изменю действие, чтобы вернуть PartialView, как это, оно не будет работать.
return PartialView("Widgets");
Я пытался опросить объект ответа в Firebug, но я не могу получить реальное представление HTML. Есть идеи?