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

2 ответа

Решение

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

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

Другие вопросы по тегам