Являются ли MicrosoftAjax.js, MicrosoftMvcAjax.js и MicrosoftMvcValidation.js устаревшими как ASP.NET MVC 3?

Являются ли MicrosoftAjax.js, MicrosoftMvcAjax.js и MicrosoftMvcValidation.js устаревшими как ASP.NET MVC 3? Я не смог найти много информации об этом в Интернете, но из того, что я прочитал, это означает, что эти файлы использовались в ASP.NET MVC 1-2 и были заменены на jquery.validate.min.js, jquery.unobtrusive-ajax.min.js и jquery.validate.unobtrusive.min.js. Это верно? Мне все еще нужны файлы Microsoft?

Ответ 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*. Удалите их с вашего сайта. Удалите эти файлы.

Ответ 2

Вам нужна только функция MicrosoftAjax, если вы используете библиотеки. Microsoft AJAX предлагает некоторую функциональность, не найденную в предоставляемых библиотеках JQuery (хотя может быть реплицирована с плагинами). Если вы не используете Microsoft AJAX в своем приложении, вы можете удалить все ссылки на эти сценарии.