Чтение онлайн

на главную - закладки

Жанры

Шрифт:

В состав проекта MVC Framework по умолчанию входят два JavaScript-файла: MicrosoftAjax.js и MicrosoftMvcAjax.js, в которых для разработчиков предложены вспомогательные функции при работе с Ajax. Рассмотрим их по порядку:

? MicrosoftAjax.js — основной файл, который содержит всю инфраструктуру ASP.NET для работы с Ajax. Эта библиотека может быть знакома тем, кто использовал Ajax.NET или AjaxControlToolkit в проектах на базе классического ASP.NET;

? MicrosoftMvcAjax.js —

файл, осуществляющий поддержку Ajax в MVC-проектах, код которых написан с помощью специальных вспомогательных методов. Эта библиотека использует MicrosoftAjax.js для своей работы.

Для упрощения работы с Ajax MVC Framework содержит кроме JavaScript-файлов еще и расширения в виде классов и методов .NET. Так, класс viewPage, по умолчанию базовый для всех страниц MVC-проектов, содержит свойство Ajax, которое является экземпляром класса AjaxHelper.AjaxHelper содержит перечисленные в табл. 7.1 вспомогательные методы для работы с Ajax в представлениях.

Чтобы использовать данные расширения в своих проектах, необходимо подключить оба JavaScript-файла, MicrosoftAjax.js и MicrosoftMvcAjax.js, на необходимую страницу либо для всех страниц сразу через файл master-страницы. Код для добавления ссылок на эти файлы в master-странице может быть следующим:

<head runat="server">

<script src="<%= Url.Content("~/Scripts/MicrosoftAjax.debug.js") %>"

type="text/javascript">

</script>

<script src="<%=Url.Content("~/Scripts/MicrosoftMvcAj ax.debug.js") %>"

type="text/javascript"></script>

</head>

Далее мы рассмотрим более подробно эти вспомогательные методы и еще один вспомогательный класс AjaxOptions и свойство IsAjaxRequest, также имеющие отношение к Ajax.

AjaxOptions

Класс AjaxOptions представляет собой набор свойств, которые описывают разнообразные опции Ajax-запросов для вспомогательных методов MVC Framework. AjaxOptions содержит следующие свойства:

? Confirm — задает текст, который будет выведен в запросе пользователю перед осуществлением запроса. Установка этого параметра приведет к тому, что перед запросом на сервер у пользователя будет возможность подтвердить отправку запроса или отменить ее (рис. 7.4);

Рис. 7.4. Запрос подтверждения при использовании параметра Confirm

? HttpMethod — устанавливает тип HTTP-запроса (GET или POST),

который будет использоваться при формировании асинхронного запроса. Может содержать одно из двух значений Get или Post, по умолчанию установлено в Post;

? InsertionMode — свойство задает одно из значений одноименного перечисления InsertionMode: Replace, InsertBefore, InsertAfter. Значение по умолчанию Replace. Данное свойство устанавливает метод включения данных из ответа от сервера в элемент разметки: перезапись значения элемента, добавление до содержимого или после него. Данное свойство используется совместно со свойством UpdateTargetId, указывающим идентификатор элемента разметки, в которое будет записано значение результата ответа от сервера;

? LoadingElementId — задает идентификатор элемента разметки, который должен быть отображен во время Ajax-запроса. Использование данного свойства приведет к тому, что указанный элемент будет показан во время запроса, а затем скрыт. Использование этого свойства имеет смысл для демонстрации пользователю анимации ожидания во время продолжительных запросов;

? OnBegin — задает наименование JavaScript-функции, которая должна быть вызвана непосредственно перед отправкой асинхронного запроса на сервер;

? Oncomplete — задает наименование JavaScript-функции, которая должна быть вызвана сразу после того, как запрос был завершен, и до того, как результат запроса был записан в элемент разметки. Не имеет значения, был ли завершен запрос удачно или нет, функция, указанная через Oncomplete, все равно будет вызвана. Данная функция будет вызвана до onFailure или onSuccess. Если требуется, чтобы результат не был записан в элемент разметки, то функция, указанная в Oncomplete, должна вернуть false;

? OnFailure — задает наименование JavaScript-функции, которая должна быть вызвана в случае, когда асинхронный запрос завершился с ошибкой;

? OnSuccess — задает наименование JavaScript-функции, которая должна быть вызвана в случае, когда асинхронный запрос завершился успешно;

? updateTargetid — задает идентификатор элемента разметки, в который должен быть записан результат асинхронного запроса на сервер. Вместе с этим параметром может быть использован параметр InsertionMode, который указывает, каким именно способом должны быть записаны данные в элемент разметки;

? url — устанавливает значение адреса сервера, куда следует отправить запрос. Свойство использовать не обязательно, когда класс AjaxOptions применяется в Ajax.BeginForm и Ajax.ActionLink, где действие и контроллер задают данные адреса. В случае если Url все же будет указан, он переопределит значения, определенные в этих методах.

Класс AjaxOptions и его свойства используются во вспомогательных методах Ajax.BeginForm и Ajax.ActionLink для тонкой настройки асинхронного запроса и его параметров, а также действий, осуществляемых в ответ на изменение состояния запроса. Например, в следующием фрагменте кода AjaxOptions используется для задания ряда параметров при вызове Ajax.ActionLink:

Поделиться:
Популярные книги

Елизавета Петровна

Сахаров Андрей Николаевич
11. Романовы. Династия в романах
Проза:
историческая проза
5.50
рейтинг книги
Елизавета Петровна

Политические портреты. Л. Брежнев, Ю. Андропов

Медведев Рой Александрович
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Политические портреты. Л. Брежнев, Ю. Андропов

В.А. Жуковский в воспоминаниях современников

Коллектив авторов
Серия литературных мемуаров
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
В.А. Жуковский в воспоминаниях современников

Князь Медведев. Дилогия

Вяч Павел
Медведев
Фантастика:
аниме
фэнтези
попаданцы
5.67
рейтинг книги
Князь Медведев. Дилогия

Алексей Михайлович

Андреев Игорь Львович
834. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Алексей Михайлович

В тебе моя жизнь...

Струк Марина
Любовные романы:
исторические любовные романы
9.21
рейтинг книги
В тебе моя жизнь...

Статьи

Переслегин Сергей Борисович
Документальная литература:
публицистика
5.00
рейтинг книги
Статьи

Тринадцатый V

NikL
5. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.50
рейтинг книги
Тринадцатый V

Рассказы. Миры Роберта Хайнлайна. Том 25

Хайнлайн Роберт Энсон
2. Рассказы
Фантастика:
научная фантастика
5.00
рейтинг книги
Рассказы. Миры Роберта Хайнлайна. Том 25

Аврора Горелика (сборник)

Аксенов Василий Павлович
Поэзия:
драматургия
6.25
рейтинг книги
Аврора Горелика (сборник)

Досье Сарагоса

де Вильмаре Пьер
1. Спецслужбы
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Досье Сарагоса

Я все еще князь. Книга XXI

Дрейк Сириус
21. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я все еще князь. Книга XXI

Пепел на обелиске

Трофимов Ерофей
5. Дракон
Фантастика:
боевая фантастика
космическая фантастика
6.91
рейтинг книги
Пепел на обелиске

Потомок седьмой тысячи

Московкин Виктор Флегонтович
Проза:
советская классическая проза
6.25
рейтинг книги
Потомок седьмой тысячи