Проф. В.К.Толстых, www.tolstykh.com Применение ASP.NET AJAX Extensions Asynchronous JavaScript And XML (Асинхронный JavaScript и XML) Основано на существующих.

Презентация:



Advertisements
Похожие презентации
Применение Microsoft ASP.NET AJAX Андрей Скляревский.NET Developer
Advertisements

Использование AJAX для асинхронной передачи данных. Что такое AJAX. Как использовать. В чем преимущество. Примеры использования на крупных сайтах. Выполнила:
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: обработка данных форм. работа с формами работа с формами.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – пользовательские элементы управления Из цикла лекций.
WEB- ТЕХНОЛОГИИ Лекция 5. Традиционное Web- программирование 1.
AJAX Выполнила: студентка группы ПИ-311 Газизова Влада.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: HtmlControls Из цикла лекций «Технологии разработки Internet-приложений»
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – валидация, валидационные элементы управления Из цикла.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: динамические таблицы, привязка данных к выпадающему списку.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – локализация ресурсов приложения Из цикла лекций «Технологии.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – класс Control Из цикла лекций «Технологии разработки.
ДонНУ, кафедра КТ, проф.В.К.Толстых Web-службы (Web-сервисы) введение введение Разработка в среде Delphi Из цикла лекций «Internet-технологии разработки.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Администрирование IIS 5, 6 сайт, виртуальный каталог, приложение, пул, рабочий.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – обработка ошибок страниц и приложения, Global.aspx.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Delphi for.NET примеры: работа с файлами Из цикла лекций «Технологии разработки.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – Модули HTTP, фильтры, события приложения - Global.asax.
Проф. В.К.Толстых, Пример Web-службы Калькулятор с валидацией Из цикла лекций «Internet-технологии разработки приложений» для студентов.
ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
ДонНУ, кафедра КТ, проф.В.К.Толстых Технологии разработки Internet- приложений ASP.NET приложения: Безопасность – аутентификация Из цикла лекций «Технологии.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Эталонные страницы – Master pages Из цикла лекций «Технологии разработки.
Транксрипт:

проф. В.К.Толстых, Применение ASP.NET AJAX Extensions Asynchronous JavaScript And XML (Асинхронный JavaScript и XML) Основано на существующих технологиях – JavaScript, DOM браузера, CSS и XMLHttpRequest Document Object Model используется в браузерах начиная с версии HTML 4.0 Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета

Пользователь Сервер 1) Запрос страницы с Веб-формой 2) Получение страницы 3) Заполнение и отправка данных формы 4) Получение страницы - результатов обработки Классическая модель Web-приложения

Модель Web-приложения с использованием AJAX ПользовательПользовательСерверСервер 1) Запрос страницы с Веб-формой 2) Получение страницы 3) AJAX: Запрос некоторых данных (не всей формы) у сервера и обновление соответствующих DOM элементов HTML-страницы в браузере без перезагрузки всей страницы 3) AJAX: Запрос некоторых данных (не всей формы) у сервера и обновление соответствующих DOM элементов HTML-страницы в браузере без перезагрузки всей страницы

Обновление страницы при использовании AJAX 1. Пользователь вводит данные; 2. При помощи JavaScript отправляется запрос на сервер, содержащий необходимую информацию о действиях пользователя; 3. Сервер отправляет необходимые данные клиенту (простой текст, HTML- код или.NET-классы, сериализованные* в JavaScript объекты); 4. На клиенте текст, HTML-код вставляется в соответствующий DOM- элемент страницы, который теперь по-новому отображается в браузере. Если от сервера пришли сериализованные объекты, они десериализуются и на их основе генерируются новые деревья элементов DOM; 5. Пользователь может вновь модифицировать данные или добавить новые, которые затем снова могут быть отправлены на сервер. Таким образом, полной перезагрузки страницы не происходит. * - Сериализация процесс перевода какой-либо структуры данных в последовательность битов.

Преимущества Экономия трафика при работе с Web-приложением, поскольку благодаря вместо загрузки всей страницы достаточно загрузить небольшую изменившуюся часть; Уменьшение нагрузки на сервер; Ускорение реакции интерфейса; Пользователь видит результат своих действий быстрее, поскольку загружается только изменившаяся часть.Недостатки Динамически создаваемые страницы не регистрируются браузером в истории посещения страниц, поэтому не работает кнопка «Назад»; Динамически загружаемое содержимое недоступно поисковикам; Старые методы учёта статистики подключений к сайтам становятся неактуальными;

Для того, чтобы начать работу с технологией AJAX в Visual Studio 2005/2008 необходимо установить: 1. Microsoft ASP.NET 2.0 AJAX Extensions 2. Microsoft ASP.NET 2.0 AJAX Templates for Visual Studio 2008 Создание AJAX сайта в Visual Studio После установки библиотеки необходимо создать новый Web проект, выбрав шаблон «ASP.NET AJAX-Enabled Site»

Серверные элементы управления UpdatePanel Update- Progress Update- Progress Timer ScriptManager ScriptManager- Proxy ScriptManager- Proxy Менеджер сценариев Частичное обновление страниц Организует работу серверной инфраструктуры AJAX на текущей странице Позволяет добавлять AJAX технологии на страницы, которые управляются Master Page или другими родительскими страницами, уже содержащими ScriptManager

ScriptManager ScriptManager – менеджер сценариев, организует работу большей части серверной инфраструктуры AJAX. ScriptManager реагирует на события в жизненном цикле страницы ASP.NET и использует эти события для координации работы всех элементов управления, параметров и кода ASP.NET AJAX. Любая.aspx страница может содержать только один элемент ScriptManager UpdatePanel UpdatePanel – элемент управления, представляющий собой особенную панель, которая позволяет обновлять выбранный регион страницы без её полной перезагрузки. При этом можно использовать элементы управления из стандартного набора ASP.NET, а так же и практически любые другие – обычно достаточно просто поместить их внутрь UpdatePanel, чтобы они начали работать без полной перезагрузки страницы

Свойства ScriptManager … …

UpdatePanel .

Триггеры Триггер панели UpdatePanel определяет событие, приводящее к обновлению элемента UpdatePanel при работе страницы в режиме частичного обновления. Ajax поддерживает 2 типа триггеров: AsyncPostBackTrigger – приводит к обновлению элемента управления UpdatePanel во время асинхронного обратного вызова. Триггеры могут указывать на элементы управления вне UpdatePanel или выше по иерархии элементов управления в родительском элементе управления. Если элемент управления, являющийся контейнером именования, используется как триггер, все его дочерние элементы управления, вызывающие обратные вызовы, ведут себя как триггеры. PostBackTrigger – вызывает выполнение регулярных обратных вызовов элементами управления на которые сделаны ссылки внутри элемента управления UpdatePanel. Эти триггеры должны быть дочерними объектами затрагиваемого UpdatePanel и не должны явно описываться как триггеры. Т. е., по умолчанию, все дочерние элементы UpdatePanel, генерирующие обратные вызовы, являются синхронными PostBackTrigger.

Триггеры (пример)... В данном случае обновление панели произойдет при нажатии на кнопку Button1, которая не находится внутри элемента UpdatePanel. Если бы кнопка Button1 находилась внутри UpdatePanel, то элемент в UpdatePanel добавлять не надо.

Timer Timer реализуется как серверный элемент, но в действительности он создает на стороне клиента таймер, выполняющий возврат данных с регулярными интервалами. Элемент Timer чаще всего используется в сочетании с UpdatePanel для обновления панели с заданной периодичностью. В следующем фрагменте определяется таймер, который инициирует ответное обращение каждую секунду: Обновление UpdatePanel через секунду

UpdateProgress UpdateProgress обеспечивает обратную связь в браузере во время обновления одного или нескольких элементов UpdatePanel. Страница может содержать не более одного элемента UpdateProgress. Элемент UpdateProgress обладает единственным свойством ProgressTemplate. Свойство определяет шаблон с разметкой, которая должна отображаться во время обновления панели Свойства UpdateProgress С какой UpdatePanel ассоциировать Показывать область UpdateProgress только когда это надо, или всегда

UpdateProgress (пример) АнимированныйGIF Показать через 0.5 секунды

Отмена обновления (пример) Идет загрузка... function cancelUpdate() { var obj = Sys.WebForms.PageRequestManager.getInstance(); if (obj.get_isInAsyncPostBack()) obj.abortPostBack(); }

Пример на сервере ДонНУ Panel UpdatePanel UpdateProgress Timer Image Label Красным отмечены компоненты из набора AJAX Extensions, остальные – из стандартного набора компонент Показать пример

Дизайн страницы в Visual Studio

Коды.aspx страницы в Visual Studio

Коды C# страницы в Visual Studio