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.
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>