【轉】ASP.NET MVC AJAX.BeginForm異步提交和刷新無效


之前新建一個ASP.NET MVC5網站的時候發現AjaxHelper類的ajax操作無效,主要問題出現在使用Ajax.BeginForm方法進行AJAX表單提交,參數和代碼都正確的情況下就是沒有進行異步提交,頁面也沒有異步刷新,其他相關的AJAX操作都變成同步操作。造成此問題的原因主要有兩個:關鍵JS文件沒引用,或者引用順序錯了。

在ASP.NET MVC中如果要使用AjaxHelper類的AJAX異步操作,比如ActionLink,BeginForm,RouteLink等方法,就一定要引入jquery.unobtrusive-ajax.js這個文件,這個文件是基於JQuery,所以順序一定要放在JQuery后面,有部分猿類同胞有遇到這個問題。

此外由於我使用的是ASP.NET MVC5,開發工具是VS2015,默認是沒有引入jquery.unobtrusive-ajax.js,不知道是不是版本問題,網上也有很多人VS沒有自動引入Microsoft.jQuery.Unobtrusive.Ajax。

這個問題確實折騰了我很多時間,后來仔細想想,如果自己能稍微靜心下來也許這個問題根本不用浪費這么多時間,果然寫代碼不能太浮躁!另外這也提醒自己每當有新項目時一定要先配置好相關類庫和腳本。

解決方案

先看下插件的官方地址:http://www.nuget.org/packages/Microsoft.jQuery.Unobtrusive.Ajax

Microsoft.jQuery.Unobtrusive.Ajax插件官網截圖

使用NuGet安裝插件非常簡單,第一種方式是使用NuGet程序包管理控制台安裝,直接輸入下面指令即可:

PM> Install-Package Microsoft.jQuery.Unobtrusive.Ajax

默認是安裝最新版本的插件,如果要指定安裝的版本,要在后面添加版本號,如下圖:

安裝指定版本的Ajax插件

第二種方法是使用NuGet程序包管理工具,右鍵點擊要安裝MVC AJAX插件的項目進入管理界面,搜索Microsoft.jQuery.Unobtrusive.Ajax,直接點擊安裝即可,如下圖所示:

安裝jQuery.Unobtrusive.Ajax步驟一

安裝jQuery.Unobtrusive.Ajax步驟二

轉載於:http://shiyousan.com/post/635755969819831275


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM