Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core
Современные веб-приложения практически невозможно представить без языка клиентской части - JavaScript. Даже при использовании таких серверных языков и технологий, как PHP, ASP.NET, трудно обойтись без JavaScript. Однако чистый JavaScript в реальности используется все меньше. Ему на смену приходят специальные библиотеки, в частности jQuery. Применительно к ASP.NET MVC при создании веб-приложений библиотеки jQuery играют очень большую роль.
По умолчанию все проекты, кроме проектов по шаблону Empty, уже содержат необходимый набор скриптов, в том числе библиотеки jQuery:
Как вы видите, большинство скриптов имеют свои двойники с суффиксом min, например, jquery-1.7.1.js и jquery-1.7.1.min.js. Оба скрипта представляют одну и ту же функциональность. Но вторая версия представляет минимизированную версию (поэтому и идет с суффиксом min). Зачем она нужна? Минимизированные скрипты гораздо меньше по объему (иногда даже на 60-70%), поэтому их предпочтительнее использовать в реальных приложениях, так как пользователь тратит меньше времени и трафика на их загрузку. В то же время их не очень удобно читать. Поэтому для большего удобства разработчиков полные и минимизированные скрипты идут вместе.
Вкратце посмотрим, зачем нужны большинство скриптов, идущих по умолчанию:
jquery-1.7.1.js - базовая библиотека jQuery, на которую опираются большинство других скриптов. В данном случае используется версия 1.7.1. Однако библиотека постоянно обновляется, поэтому можно использовать более новые версии.
jquery-ui-1.8.20.js - библиотека jQuery UI, которая включает различные виджеты, предназначенные для создания пользовательского интерфейса
jquery.unobtrusive-ajax.js - представляет функциональность для ненавязчивого JavaScript
jquery.validate.js - представляет функционал для валидации на стороне клиента
jquery.validate.unobtrusive.js - предоставляет поддержку ненавязчивой валидации
jquery-1.7.1-vsdoc.js и jquery.validate-vsdoc.js - используются для поддержки документации и IntelliSense по соответствующим библиотекам в Visual Studio
Чтобы подключить файл javascript используется метод Render
класса System.Web.Optimization.Scripts
:
@Scripts.Render("~/scripts/jquery.unobtrusive-ajax.js")
Этот метод принимает в качестве параметра строку - полный путь к скрипту.
Либо мы можем использовать, например, хелпер Url.Content
: <script src="@Url.Content("~/scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
Если файлы javascript будут использоваться большинством представлений приложения, то удобнее всего добавить их сразу на мастер-страницу.
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> <title>@ViewBag.Title</title> @Styles.Render("~/Content/css") @Scripts.Render("~/scripts/jquery-1.7.1.js") @Scripts.Render("~/scripts/jquery.unobtrusive-ajax.js") </head> <body> @RenderBody() @RenderSection("scripts", required: false) </body> </html>