MVC5 Ajax.BeginForm refresh whole page

时光怂恿深爱的人放手 提交于 2019-12-06 11:03:25

You have to include jquery.unobtrusive-ajax.js file in your view to make Ajax.BeginForm to work.

This really tripped me up, and in searching for a solution - 99% of the responses all focused on previous versions of MVC and/or never mentioned the required NuGet packages. For some reason VS2013, does not include the "Microsoft jQuery Unobtrusive Ajax" package when it builds a default MVC project. I found that the "jQuery validation" package was not needed either.

Once I installed that package, and added the script references the results were returned correctly to the target DIV.

To confirm, I am using: - VS2013 with MVC 4.5.1 - jQuery 2.1.3 - Microsoft jQuery Unobtrusive Ajax 3.2.3

In BundleConfig.cs I decided to add a new bundle because of the confusion:

bundles.Add(new ScriptBundle("~/bundles/jqueryunob").Include(
            "~/Scripts/jquery.unobtrusive*"));

And then applied it to all pages by referencing it in _Layout.cshtml:

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

Add this key code to webconfig file

 <appSettings>
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
 </appSettings>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!