ASP.NET MVC 3 and jquery.unobtrusive-ajax.min.js

asp.net-mvc-3, unobtrusive-ajax

Solution

I've read that the solution is usage of jquery.validate.min.js and jquery.validate.unobtrusive.min.js

No, those 2 script have nothing to do with `jquery.unobtrusive-ajax.min.js`. They are used for unobtrusive validation. For Ajax.* helpers all you need is `jQuery` and `jquery.unobtrusive-ajax.min.js` (included in THAT order).

So for unobtrusive AJAX you need:

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

If you want to use unobtrusive validation you could also include the 2 scripts afterwards (in THAT order):

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

Another very important thing that you should make sure is that you have removed absolutely any traces of `Microsoft*.js` scripts from your project. Those scripts are obsolete and starting from ASP.NET MVC 3 are no longer used by default. Also make sure that youhave enabled unobtrusive AJAX in your web.config, otherwise the system will fallback to the legacy Microsoft ajax scripts:

<appSettings>
    <add key="webpages:Version" value="1.0.0.0"/>
    <add key="ClientValidationEnabled" value="true"/>
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>

Problem

I want to use the Ajax.ActionLink Html helper therefore I need the jquery.unobtrusive-ajax.min.js library but IE is always showing this error: Microsoft JScript runtime error: Unable to set value of the property 'unobtrusive': object is null or undefined I've read that the solution is usage of jquery.validate.min.js and jquery.validate.unobtrusive.min.js but then I can't recognise the ajax call on server side.

Original source

Related problems