Являются ли 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?
Являются ли MicrosoftAjax.js, MicrosoftMvcAjax.js и MicrosoftMvcValidation.js устаревшими как ASP.NET MVC 3?
Ответ 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 в своем приложении, вы можете удалить все ссылки на эти сценарии.