Введение в AJAX

Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core

Последнее обновление: 31.10.2015

AJAX (Асинхронный JavaScript и XML) представляет собой технологию гибкого взаимодействия между клиентом и сервером. Благодаря ее использованию мы можем осуществлять асинхронные запросы к серверу без перезагрузки всей страницы. Правда, в настоящее время все больше вместо формата XML используется формат JSON для взаимодействия между клиентом и сервером.

Применительно к ASP.NET MVC использование AJAX вылилось в целую концепцию под названием "ненавязчивого AJAX" и ненавязчивого JavaScript (unobtrusive Ajax/JavaScript). Смысл этой концепции заключается в том, что весь необходимый код JavaScript используется не на самой веб-странице, а помещается в отдельные файлы с расширением *.js. А затем с помощью тега <script> мы в веб-станице ссылаемся на данный файл кода.

Таким образом мы отделяем визуализацию от логики приложения. Что имеет свои плюсы. Так, выделение скрипта в отдельный загружаемый файл увеличивает производительность сайта, поскольку файл сохраняется в кэше и затем от туда подгружается.

Настройка ненавязчивого JavaScript/ AJAX

Во-первых, соответствующие настройки должны быть указаны в файле Web.config:

<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
 </appSettings>

Во-вторых, нам надо подключить соответствующие файлы JavaScript:

@Scripts.Render("~/scripts/jquery-1.10.2.js")
@Scripts.Render("~/scripts/jquery.unobtrusive-ajax.js")

Если у нас в проекте отсуствует библиотека jquery.unobtrusive-ajax.js, то мы ее опять же можем добавить через NuGet:

Первый файл - общая библиотека jQuery. Второй файл (jquery.unobtrusive-ajax.js) подключает к приложению функциональность Ajax-хелперов, например, Ajax-форм. Главное не забыть, подключить основную библиотеку jQuery перед остальными файлами, так как все остальные скрипты, как правило, зависят от нее.

AJAX-хелперы

Для осуществления ajax-запросов в ASP.NET MVC присутствует такая функциональность, как ajax-хелперы:

  • Ajax.ActionLink: создает гиперссылку на действие контроллера, по нажатию на которую происходит ajax-запрос к этому действию

  • Ajax.RouteLink: похож на хелпер Ajax.ActionLink, только ссылка создается на определенный маршрут, а не на действие контроллера

  • Ajax.BeginForm: создает html-форму, которая отправляет ajax-запросы к определенному действию определенного контроллера

  • Ajax.BeginRouteForm: похож на Ajax.BeginForm, только ajax-запросы направляются не к действию контроллера, к по определенному маршруту

  • Ajax.GlobalizationScript: создает ссылку на скрипт, который содержит информацию о культуре

  • Ajax.JavaScriptStringEncode: кодирует строку для использования в JavaScript

  • Наиболее часто используются Ajax.ActionLink и Ajax.BeginForm, поэтому далее мы рассмотрим эти хелперы.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850