簡體   English   中英

ASP.Net MVC3 - 在服務器端正確處理 Ajax 表單提交

[英]ASP.Net MVC3 - Properly handle Ajax form submission on the server side

我有一個表單,我想賦予它美妙的 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 提交表單顯然這不是我想要的 - 我希望任何錯誤出現在錯誤的驗證摘要中或“您的更改已保存“成功的消息。

這樣做的標准方法是什么?

您必須為 Ajax 請求添加 If 子句

if (Request.IsAjaxRequest()) 
{
    // Return PartialView or Json
}
else 
{
    // Normal response
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM