我有一个表格,我想赋予精彩的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提交的,那么这不是我想要的 - 我希望错误中出现任何错误或“你的更改”已被保存“成功的消息。
这样做的标准方法是什么?
答案 0 :(得分:2)
您必须为Ajax请求添加If子句
if (Request.IsAjaxRequest())
{
// Return PartialView or Json
}
else
{
// Normal response
}