Являются ли MicrosoftAjax.js, MicrosoftMvcAjax.js и MicrosoftMvcValidation.js устаревшими с ASP.NET MVC 3? - PullRequest
61 голосов
/ 09 января 2012

Являются ли 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?

Ответы [ 2 ]

121 голосов
/ 09 января 2012

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

6 голосов
/ 09 января 2012

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

...