ASP.NET MVC 2 - как заставить Ajax.BeginForm работать правильно в частичном представлении - PullRequest
1 голос
/ 10 января 2011

У меня есть вид с URL, как

/ Home / SetResults? PatientId = [somePatientId]

, часть его условно ajax-обновляется с некоторым частичным просмотром

Внутри этого частичного вида у меня есть этот код

<% using (Ajax.BeginForm("Action", "Home", new AjaxOptions { UpdateTargetId = "placeholder", InsertionMode = InsertionMode.Replace,HttpMethod = "Post"})) 
{%>
<div id="placeholder">
....

Всякий раз, когда я нажимаю кнопку отправки, я получаю свой простой метод действия контроллера

[HttpPost]
public ActionResult Action(MyModel model)
{
 return PartialView();
}

Все работает отлично, кроме самого ajax - вместо того, чтобы получить заполнитель, обновленный в результате действия контроллера, я всегда получаю перенаправление на представление с URL-адресом

/ Home / Действие

Итак, возможно ли частично обновить частичное представление? Если да, то что я делаю не так?

1 Ответ

1 голос
/ 10 января 2011

Следует проверить, что вы включаете сценарий ajax:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

Я заметил, что если это не включено, отправка формы Ajax ведет себя как обычная отправка.

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