[C#][ASP.NET MVC5] 使用Ajax.BeginForm時無法正常運作

在ASP.NET MVC裡面,表單提交方法有兩種,一種是傳統的Html.BeginForm另外一種是利用JQuery實現的Ajax.BeginForm,平常我都是使用Html.BeginForm在處理表單,最近在寫上傳檔案功能的時候想玩Ajax.BeginForm看看,於是乎發生了Ajax無法正常運作的問題,拜了Google大神很久發現了原因是Visual Studio新建專案的時候沒有幫我加入Microsoft jQuery Unobtrusive Ajax這個套件,多虧這個原因讓我撞牆撞了好久,最後裝上去才解決問題。

解決步驟如下:

  1. 對著專案點選右鍵選擇管理NuGet套件
    01
  2. 搜尋unobtrusive找到Microsoft.jQuery.Unobtrusive.Ajax選擇安裝
    02
  3. /App_Start/BundleConfig.cs裡面新增套件
    03
1
2
3

bundles.Add(new ScriptBundle("~/bundles/jqueryajax").Include(
"~/Scripts/jquery.unobtrusive-ajax*"));
  1. 在要使用的頁面加入以下語法使用
1
2

@Scripts.Render("~/bundles/jqueryajax")