Рис. З.5. Порядок операций ASP.NET

Страница как контейнер элементов управления

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

При первом создании страницы в ответ на HTTP-запрос ASP.NET инспектирует файл .aspx. Для каждого найденного дескриптора элемента управления она создает и настраивает объект элемента управления, а затем добавляет элемент управления к странице как ее дочерний элемент управления. Вы можете найти все дочерние элементы управления страницы в коллекции Раgе.Controls.

Отображение дерева элементов управления

Ниже представлен пример поиска элементов управления. Каждый раз при нахождении элемента управления код использует команду Response.Write() для добавления типа класса элемента управления и его идентификатора в конец HTML-страницы:

// Каждый элемент управления порожден от System.Web.UI.Control, так что
// этот класс можно использовать для работы со всеми элементами управления.
foreach (Control control in Page.Controls)
{
  Response.Write(control.GetType().ToString() + " - <b>" + control.ID + "</b><br />");
}
// Отделить это содержимое от остальной страницы горизонтальной линией.
Response.Write("<hr />");

предыдущая    следующая страница   оглавление

124

Hosted by uCoz