Книга: ASP.NET MVC Framework
Ajax.ActionLink
Ajax.ActionLink
Вспомогательный метод Ajax.ActionLink
, в зависимости от реализации, содержит набор из нескольких следующих параметров:
? linkText
— текст, который будет рендериться в виде значения гиперссылки;
? actionName
— указывает наименование действия, которое следует вызвать в запросе, в случае, когда используется вариант метода без указания контроллера, вызывается действие контроллера текущего контекста;
? controllerName
— указывает наименование контроллера (сокращенное, без суффикса Controller
), в котором следует искать и вызвать указанное в параметре actionName
действие;
? protocol
— указывает используемый для формирования ссылки протокол http или https;
? hostName
— указывает значение хоста, которое будет использовано для формирования ссылки;
? fragment
— указывает значение якоря, которое будет использовано для формирования ссылки. Это значение используется браузером для навигации по странице и обычно представляет собой значение идентификатора какого-либо элемента разметки, к которому следует выполнить навигацию. Данное значение будет добавлено к ссылке в следующем виде: http://localhost/Home/GetTime#fragment;
? routeValues
— указывает объект, содержащий параметры для механизма маршрутизации;
? ajaxOptions
— указывает экземпляр класса AjaxOptions
с заданными свойствами, которые определяют параметры асинхронного запроса и могут определять ряд JavaScript-функций, реагирующих на изменение состояния запроса;
? htmlAttributes
— набор значений пользовательских атрибутов для тега a, которые должны быть помещены в разметку формы.
Применение ActionLink
еще проще, рассмотрим его использование на примере получения даты и времени для отображения на странице:
<%= Ajax.ActioriLink(''Пaлучить время", "GetTime", "Home",
new AjaxOptions() { UpdateTargetId = "timeText" },
(object) null) %><br />
<span>Нажмите на ссылку для получения времени<sрап>
Здесь с помощью вспомогательного метода Ajax.ActionLink
создается ссылка, которая с помощью Ajax.NET скрытно связывается с асинхронным запросом на сервер. Кроме текста ссылки, наименования действия и контроллера, в функцию передается набор параметров AjaxOptions
, в котором, в нашем случае, параметр UpdateTargetId
устанавливается равным идентификатору элемента, где будет отображен результат запроса. В последний параметр, который определяет значение атрибутов HTML-элемента, передается значение (object) null
, чтобы указать, что никаких дополнительных HTML-атрибутов рендерить не нужно.
Как и в случае использования Ajax.BeginForm
, при рендеринге Ajax.ActionLink
незаметно для разработчика создается вспомогательный код, который реализует весь Ajax-функционал, избавляя разработчика от написания рутинного кода:
<a href="/Home/GetTime?Length=4"
onclick="Sys.Mvc.AsyncHyperlink.handleClick(this,
new Sys.UI.DomEvent(event),
{
insertionMode: Sys.Mvc.InsertionMode.replace, updateTargetId: 'timeText'
});">Получить время</a>
После того как пользователь нажмет на ссылку, сформируется асинхронный запрос на сервер, и полученный результат будет выведен в элемент span с идентификатором timeText
.
- Реализация на ASP.NET Ajax
- AjaxOptions
- Ajax.BeginForm
- Building Responsive Applications Using AJAX
- AJAX Control Toolkit
- AJAX- Enabling a Page Using the ScriptManager Control
- Calling WCF Services from an AJAX Page
- Лекция 10. Основы приложений AJAX
- 19.6. Реализация Ajax в библиотеке jQuery
- 19.6.2. Вспомогательные функции поддержки Ajax
- 19.6.3. Функция jQuery.ajax()
- 19.6.4. События в архитектуре Ajax