Да, все Microsoft*
помощники устарели в ASP.NET MVC 3. Для меня они всегда были устаревшими, но теперь, по крайней мере, Microsoft сделала это официальным и заменила их на jQuery.
Введены 2 новые функции
<appSettings>
<add key="webpages:Version" value="1.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
Первая - UnobtrusiveJavaScriptEnabled
.Это означает, что если вы включите эту функцию в своем файле web.config (он включен по умолчанию при создании нового приложения ASP.NET MVC 3), все помощники Ajax.*
, такие как Ajax.BeginForm
и Ajax.ActionLink
, будут генерировать данные HTML5- * атрибуты на их соответствующих элементах DOM вместо смешивания JavaScript с разметкой.Затем вы должны добавить на свою страницу скрипт jquery.unobtrusive-ajax.js
, который будет анализировать эти атрибуты и использовать JQuery, чтобы незаметно AJAXify их.
Второй - ClientValidationEnabled
, который также включен по умолчанию.Аналогичным образом работает ненавязчивый javascript, когда вы включаете этот параметр, все помощники, которые генерируют поля ввода, будут испускать атрибуты data- * HTML5.Затем вы включаете скрипты jquery.validate.js
и jquery.validate.unobtrusive.js
, чтобы они работали, например, в вашем _Layout.cshtml. Они должны появляться в таком порядке, и они должны быть после загрузки jquery:
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
<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>
Так что в ASp.NET MVC 3 вы можете забыть обо всех Microsoft*
скриптах.Удалите их с вашего сайта.Удалите эти файлы.