Ответ 1
Да, все помощники Microsoft*
устарели в ASP.NET MVC 3. Для меня они всегда были устаревшими, но теперь, по крайней мере, Microsoft сделала это официальное лицо и заменила их на jQuery.
Были введены две новые функции
<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
script на свою страницу, которая будет анализировать эти атрибуты и использовать jQuery для ненавязчиво AJAXify.
Второй параметр ClientValidationEnabled
, который также включен по умолчанию. Точно так же ненавязчивый javascript работает, когда вы включаете этот параметр, все помощники, генерирующие поля ввода, будут генерировать атрибуты данных 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*
. Удалите их с вашего сайта. Удалите эти файлы.