在ASP.NET MVC裡面,表單提交方法有兩種,一種是傳統的Html.BeginForm
另外一種是利用JQuery實現的Ajax.BeginForm
,平常我都是使用Html.BeginForm
在處理表單,最近在寫上傳檔案功能的時候想玩Ajax.BeginForm
看看,於是乎發生了Ajax無法正常運作的問題,拜了Google大神很久發現了原因是Visual Studio新建專案的時候沒有幫我加入Microsoft jQuery Unobtrusive Ajax這個套件,多虧這個原因讓我撞牆撞了好久,最後裝上去才解決問題。
解決步驟如下:
- 對著專案點選右鍵選擇
管理NuGet套件
- 搜尋
unobtrusive
找到Microsoft.jQuery.Unobtrusive.Ajax
選擇安裝
- 在
/App_Start/BundleConfig.cs
裡面新增套件
bundles.Add(new ScriptBundle("~/bundles/jqueryajax").Include( "~/Scripts/jquery.unobtrusive-ajax*"));
- 在要使用的頁面加入以下語法使用
@Scripts.Render("~/bundles/jqueryajax")