Опубликован: 30.01.2013 | Доступ: свободный | Студентов: 1291 / 162 | Длительность: 17:23:00
Теги: .net, ajax, asp, www, интранет
Лекция 5:

Построение приложений на основе веб-форм ASP.NET Web Forms

Аннотация: Эта лекция содержит информацию о разработке веб-приложений на основе ASP.NET Web Forms.

Обзор ASP.NET Web Forms

Как мы обсуждали в предыдущих лекциях, результатом работы веб-приложения является сгенерированный HTML-код, который передается клиенту. Если HTML-код содержит какие-либо элементы для получения информации от пользователя (поля ввода, переключатели, списки и т.д.), то эти данные отправляются на сервер в виде текстовых данных и на стороне сервера эти данные нужно корректно обработать. Если речь идет об элементах управления для ввода текста, то проблем не возникает. Однако, при работе с другими элементами управления (например, с переключателями), в силу специфики протокола HTTP, данные с этих элементов управления также поступают в текстовом виде. В этом случае работать с текстом не всегда удобно. Например, в случае с переключателем было бы гораздо удобнее получать состояние элемента управление в виде логического значения (включен/выключен).

Для этих целей ASP.NET Web Forms предлагает ввести дополнительный уровень абстракцииэлементы управления ASP.NET Web Forms. Элементы управления ASP.NET являются объектами .NET Framework, которые содержат все необходимые данные в виде типизированных свойств, а также содержат логику генерации HTML-кода и обработки пользовательского ввода. Более того, такое абстрагирование на уровне элементов управления позволяет задавать внутри элементов управления сложную логику и при этом генерировать сколько угодно сложный HTML-код. Например, давайте рассмотрим элемент управления Calendar.

Элемент управления Calendar представляет собой сложный объект, который выполняет работу по генерации кода HTML на странице в зависимости от выбранной даты. Для размещения этого элемента управления на форме используется несложный код разметки страниц ASP.NET (.aspx).


После запуска приложения и отображения данной страницы, в браузере можно увидеть полноценный календарь. При этом элемент управления генерирует ссылки на управление календарем – для переключения года и месяца, а также для выбора даты.


Как видно, за небольшим определением календаря в странице ASPX скрывается достаточно сложная логика по генерации и управлению календарем. Если проанализировать объем сгенерированного кода HTML, то можно увидеть, что он располагается более чем на 200 строках и содержит определение таблицы для размещения календаря.

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

С точки зрения программного кода, подобные элементы управления имеют свою объектную модель. Например, приведенный выше элемент управления Calendar имеет ряд свойств, методов и событий для управления поведением элемента управления из программного кода страницы. Все эти элементы можно использовать в программном коде, описывающем логику веб-приложения. Например, можно определить поведение элемента управления следующим образом.


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

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

Создание собственного элемента управления позволяет повторно использовать код, который разработан один раз. Это означает, что можно создать элемент управления и использовать его в различных проектах многократно. Более того, можно передать элемент управления другим разработчикам (в виде исходных кодов или готовой скомпилированной сборки), которые также смогут воспользоваться его услугами.

Все элементы управления размещаются на страницах ASP.NET Web Forms. Страница ASP.NET Web Forms представляется объектом Page и является контейнером для элементов управления. Страница управляет генерацией HTML-кода, который в результате будет передан клиенту. При этом объект Page содержит набор методов, свойств и событий для управления поведением страницы. Следующий пример, использует свойство страницы Title, а также подписывается на ряд событий страницы.


Также можно использовать другие свойства и события объекта Page для получения информации от страницы, а также управлять поведением страницы используя методы объекта Page.

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

Краткие итоги

Результатом работы веб-приложения является HTML-код страницы. Для генерации HTML-кода в страницах ASP.NET Web Forms в основном используются специальные объекты .NETэлементы управления. Такие элементы управления содержат набор свойств и методов для управления состоянием этих объектов. Все элементы управления размещаются в контейнере – странице ASP.NET. Для определения поведения всей страницы в целом разрабатывается код, который настраивает взаимодействие элементов управления на странице.

Марина Воробьева
Марина Воробьева
Виктория Ткаченко
Виктория Ткаченко

Проигрыватель не работает. После нажатия кнопки Play ничего не происходит.