Введение в 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="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

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

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

Первый файл - общая библиотека 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