Программирование >>  Программирование с использованием ajax 

1 ... 230 231 232 [ 233 ] 234 235 236 ... 396


В действительности лежащая в основе Ajax технология новой не является. Internet Explorer и Web-приложения позволяли делать подобное в течение многих лет. В состав Internet Explorer, начиная еще с версии 5, входил объект XmlHttpRequest, делавший возможной отправку запроса из JavaScript с сохранением страницы в активном состоянии. Именно он и применялся в Outlook Web Access 2000 для предоставления пользователям более высокой степени интерактивности. Проблема заключалась в том, что работать с ним было нелегко.

Ajax упрощает использование объекта XmlHttpRequest, и потому сегодня он уже также предлагается и в других браузерах.

Ajax основан на следующих технологиях.

□ DHTML. На стороне клиента получение доступа и изменение HTML-элементов должно осуществляться программным путем, что стало возможным с появлением динамического HTML (Dynamic HTML).

□ JavaScript. Почти все браузеры поддерживают JavaScript - язык сценариев, применяемый для получения доступа к DOM (Document Object Model - объектная модель документов) из DHTML.

а 3unlHttpRequest. Этот объект применяется для отправки асинхронных вызовов из JavaScript-кода серверу с целью запрашивания дополнительных данных.

а JSON (JavaScript Object Notation - объектная нотация JavaScript). Вместо передачи XML-кода между клиентом и сервером обычно применяется формат JSON, который требует меньше данных и оптимизирован под JavaScript.

Предлагаемая Microsoft реализация Ajax называется ASP.NET AJAX и состоит из клиентской библиотеки JavaScript и использующих ее серверных элементов ASPNET. В отличие от версии ASPNET 2.0, в которой библиотеку и элементы управления ASP.NET AJAX требовалось загружать отдельно, в версии ASP.NET 3.5 библиотека ASP.NET AJAX уже входит в основной состав, так что ею можно начинать пользоваться в любой момент.

Microsoft предлагает еще кое-какие дополнительные наборы инструментальных средств, которые могут быть полезны при разработке приложения ASP.NET AJAX.

□ ASP.NET AJAX Control Toolkit. Разработанный при участии сообщества разработчиков набор, в состав которого входит несколько элементов управления для расширения возможностей Web-страниц. Как им пользоваться, будет показано в последнем разделе настоящей главы.

а Microsoft ASP.NET 3.5 Extensions Preview. В этом наборе предлагаются предварительные версии функциональных возможностей, которые, вероятно, будут доступны в будущей версии ASP.NET.

Загрузить эти наборы можно по адресу http: а j ах. asp. net.

Серверные элементы управления, которые можно использовать в приложениях ASPNET, перечислены в табл. 22. L

Вместо серверных элементов управления можно также и напрямую использовать функции JavaScript. Имена соответствующих классов и методов очень похожи на имена классов и методов в .NET Framework, что позволит сразу же чувствовать себя как дома .

Некоторые из расширений клиентских сценариев ASP.NET AJAX описаны в табл. 22.2.



Таблица 22.1. Серверные элементы управления, которые можно использовать в приложениях ASP.NET

Элемент управления ASP.NET AJAX

Описание

ScriptManager

Загружает клиентские сценарии. Для каждой стра-

ницы ASRNET AJAX требуется один экземпляр этого

элемента управления

UpdatePanel

Обеспечивает возможность выполнения частично-

го визуального обновления страницы посредством

поддерживаемой ASRNET AJAX операции обратной

отправки

Timer

По истечении указанного промежутка времени вызы-

вает какую-то функцию

UpdateProgress

Отображает информацию о ходе процесса во время

выполнения запроса

Таблица 22.2. Расширения клиентскихсценариев ASP.NET AJAX

Расширения клиентских сценариев

Описание

Racшиpeния типа Array

Racшиpeния типа Date

Racшиpeния типа string

Пространство имен Sys

Пространство имен Sys. Net

Библиотека клиентских сценариев добавляет функции в JavaScript-тип Array. Методы, вроде add (),

addRange(), clear (),contains (),insert () и remove О очень похожи на методы .NET-типа Array

Библиотека клиентских сценариев добавляет функции в JavaScript-тип Date. С помощью метода format МОЖНО передавать форматирующие строки, подобные тем, что применяются вместе с .NET-струк-турой DateTime

Библиотека клиентских сценариев добавляет функции в JavaScript-тип string. В число доступных здесь методов входят startsWith (), endsWith (), trim о И trimEnd О

В пространстве имен sys доступен класс stringBuilder, который ПОХОЖ на класс stringBuilder, предлагаемый в .NET Еще в нем доступен класс Application, который предоставляет возможность работать с такими глобальными клиентскими событиями, как init, load и unload

В состав пространства имен Sys.Net входят классы, которые можно использовать в клиентском сценарии для вызова Web-служб

Теперь давайте посмотрим, как использовать возможности ASP.NET AJAX в приложениях ASP.NET, начиная с возможности частичного визуального обновления Web-страницы.



Элемент управления UpdatePanel

В следующем практическом занятии демонстрируется создание простой Web-страницы, подразумевающей использование такого элемента управления ASP.NET, как

UpdatePanel.

Практическое занятие Использовэние элемента управления

UpdatePanel

1. Создайте новый Web-сайт, выбрав в меню File (Файл) пункта New Web Site (Создать новый Web-сайта) и щелкнув на значке ASP.NET Web Site (Web-сайт ASP.NET). Присвойте новому сайту имя AJAXWebsite.

2. Добавьте новую Web-форму по имени Update Panel Demo. aspx и сделайте ее стартовой страницей приложения.

3. Из категории AJAX Extensions (Расширения AJAX) в окне Toolbox (Элементы управления) добавьте на эту страницу элемент управления ScriptManager:

<asp:ScriptManager ID= ScriptManagerl runat= server > </asp:ScriptManager>

4. Затем добавьте элемент управления UpdatePanel:

<asp:UpdatePanel ID= UpdatePanell runat= server > </asp:UpdatePanel>

5. Теперь добавьте по одному элементу управления Label и Button внутрь UpdatePanel и по одному элементу управления Label и Button за его пределами. Установите для свойства Text элемента управления Button, находящегося внутри UpdatePanel, и находящегося за его пределами, соответственно значение AJAX Postback и ASP.NET Postback (рис. 22.1).

<form id= forml runat= server > <div>

<asp:ScriptManager ID= ScriptManagerl runat= server > </asp:ScriptManager> </div>

<asp:UpdatePanel ID= UpdatePanell runat= server > <ContentTeinplate> <asp:Label ID= Labell runat= server Text= Label > </asp:Label> <asp:Button ID= Buttonl runat= server Text= AJAX Postback /> </ContentTeinplate > </asp:UpdatePanel >

<asp:Label ID= Label2 runat= server Text= Label > </asp:Label> <asp:Button ID= Button2 runat= server Text= ASP.NET Postback />

</form>

6. Назначьте обеим кнопкам обработчик событий Click с именем OnButtonClick и реализуйте его показанным ниже образом:

protected void OnButtonClick(object sender, EventArgs e) {

Labell.Text = DateTime.Now.ToLongTimeString(); Label2.Text = DateTime.Now.ToLongTimeString();



1 ... 230 231 232 [ 233 ] 234 235 236 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика