ASP.Net MVC3 - правильно обрабатывать отправку формы Ajax на стороне сервера - PullRequest
0 голосов
/ 09 июня 2011

У меня есть форма, которую я хотел бы наделить прекрасным совершенством Ajax-представления

@using(Html.BeginForm()) {
  ...
}

Я изменил Html.BeginForm() на Ajax.BeginForm(), но не совсем ясно, что делать на стороне сервера.

Раньше я делал что-то вроде этого:

[HttpPost]
public ActionResult EditMyStuff(MyViewModel vm) {
  if(!ModelState.IsValid)
    return View(vm);

  // save stuff
  return RedirectToAction("Index");         
}

И это то, что я хочу сохранить, если у клиента отключен JavaScript, но если форма отправляется через Ajax, это явно не то, что я хочу - я хочу, чтобы в сводке проверки по ошибке отображались ошибки или "Ваши изменения" были сохранены "сообщение об успехе.

Какой стандартный способ сделать это?

1 Ответ

2 голосов
/ 09 июня 2011

Вы должны добавить условие If для Ajax-запроса

if (Request.IsAjaxRequest()) 
{
    // Return PartialView or Json
}
else 
{
    // Normal response
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...