Книга: ASP.NET MVC Framework

Реализация на ASP.NET Ajax

Реализация на ASP.NET Ajax

Добавим в Register.aspx ссылку для проверки введенного логина на наличие плюс поле для вывода результата проверки:

<label for="username">Username:</label>
<%= Html.TextBox("username") %>
<%= Html.ValidationMessage("username") %>
<%= Ajax.ActionLink("Пpoверить доступность логина",
                 "CheckUsername",
                 new AjaxOptions {OnBegin ="CheckUsername_OnBegin"
                                 , UpdateTargetld =
                                 "check_username"}
                 )
%>
<span></span>

Здесь с помощью вспомогательного метода Ajax.ActionLink создается гиперссылка для вызова действия CheckUsername. C помощью создания структуры типа AjaxOptions мы задаем несколько параметров. Во-первых, мы задаем функцию CheckUsername_OnBegin, которая должна быть вызвана перед запросом, а во-вторых, указываем тег с идентификатором check_username, который должен быть использован для рендеринга результата.

К сожалению, базовый функционал ASP.NET Ajax пока не поддерживает возможность задавать динамические параметры для запросов, формируемых через Ajax.ActionLink. Поэтому, чтобы передать с запросом введенные пользователем данные, нам нужно обработать начало запроса и сформировать самостоятельно URL запроса с необходимой строкой параметров. Чтобы сделать это, мы задали функцию CheckUsername_OnBegin, код которой выглядит так:

<script type="text/javascript">
  function CheckUsername_OnBegin(data) {
    var username = document.getElementById("username").value;
    var request = data.get_request();
    var url = request.get_url();
    url = url + "?username=" + username;
    request.set_url(url);
  }
</script>

Здесь производится получение URL запроса и формирование нового URL на базе введенных пользовательских данных. Последней строкой скрипта новый URL устанавливается для Ajax-запроса.

В итоге после компиляции на странице регистрации мы сможем увидеть рядом с полем ввода имени пользователя ссылку для проверки на допустимость такого логина (рис. 7.8). После нажатия кнопки пользователь получает результат проверки в виде строки сообщения (рис. 7.9).


Рис. 7.8. Форма регистрации с гиперссылкой на проверку доступности логина


Оглавление книги

Оглавление статьи/книги

Генерация: 1.366. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз