Если вы используете какой-либо из помощников Ajax.*
(например, Ajax.BeginForm
или Ajax.ActionLink
), вам необходимо удалить все сценарии Microsoft*.js
и заменить их на: jquery.unobtrusive-ajax.js
, например:
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
Причина в том, что, взглянув на ASP.NET MVC 3, Microsoft поняла, что переосмысливать колесо никогда не бывает хорошо, и устарела в своих библиотеках сценариев MsAjax в пользу гораздо более совершенной и лучшей библиотеки jQuery. Таким образом, эти сценарии больше не используются (они просто предназначены для обратной совместимости). Помощники ASP.NET MVC 3 Ajax.*
используют атрибуты данных data5 * HTML5, которые ненавязчиво AJAXified с jQuery.
Также вы должны убедиться, что ненавязчивый AJAX включен в вашем web.config:
<appSettings>
...
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
Если вам все еще нужна обратная совместимость или что-то еще, вы можете установить для свойства UnobtrusiveJavaScriptEnabled
значение false, и это откатится к предыдущим библиотекам Microsoft*.js
(абсолютно не рекомендуется).
То же самое относится и к проверке JavaScript на стороне клиента: плагин jquery.validate используется по умолчанию с ненавязчивыми атрибутами данных data5 * HTML *, сгенерированными в полях ввода.