Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Троелсен Э. Язык программирования С# 2010 и п...docx
Скачиваний:
113
Добавлен:
21.09.2019
Размер:
6.92 Mб
Скачать

Цепочка наследования типа Page

Как вы только что убедились, готовый генерируемый класс, представляющий файл *.aspx, получается из System.Web.UI.Page. Подобно любому базовому классу, этот тип обеспечивает полиморфный интерфейс всем производным типам. Однако тип Page является не единственным членом в иерархии наследования. Если найти тип Page (в пределах компоновочного блока System.Web.dll) в окне обозреватели объектов Visual Studio 2005, то вы увидите, что этот тип "принадлежит" типу TemplateControl, который, в свою очередь, "принадлежит" Control, а последний "принадлежит" Object (рис. 23.18).

Вы должны догадываться, что каждый из этих базовых классов вносит в файл *.aspx свой "немалый вклад" в отношении функциональных возможностей. Для большинства проектов вы будете использовать члены, определенные в рамках родительских классов Page и Control. Вообще говоря, функциональные возможности, приобретенные от класса System.Web.UI.TemplateControl, могут представлять для вас интерес только при построении пользовательских элементов управления Web Form и при взаимодействии с процессом визуализации. С этими оговорками давайте рассмотрим роль типа Page.

Рис. 23.18. Происхождение страницы ASP.NET

Тип System.Web.UI.Page

Первым интересующим нас родительским классом является сам класс Page. Ниже описаны его многочисленные свойства, обеспечивающие возможность взаимодействия с различными Web-примитивами, такими как переменные приложения и сеанса, запросы и ответы HTTP, темы и т.д. Описания некоторых их этих свойств приводятся в табл. 23.4.

Таблица 23.4. Свойства типа Page

Свойство

Описание

Application

Позволяет взаимодействовать с переменными приложения для текущего Web-узла

Cache

Позволяет взаимодействовать с объектом кэша для текущего Web-узла

ClientTarget

Позволяет указать способ визуализации для данной страницы в зависимости от запрашивающего браузера

IsPostBack

Получает значение, являющееся индикатором загрузки страницы в ответ на вторичный запрос клиента (в отличие от первичной загрузки страницы)

MasterPageFile

Создает шаблон страницы для текущей страницы

Request

Обеспечивает доступ к текущему HTTP-запросу

Response

Позволяет взаимодействовать с исходящим HTTP-ответом

Server

Обеспечивает доступ к объекту HttpServerUtility, содержащему различные вспомогательные функции сервера

Session

Позволяет взаимодействовать с сеансовыми данными для текущего вызывающего объекта

Theme

Получает или устанавливает имя темы, используемой для текущей страницы

Trace

Обеспечивает доступ к объекту TraceContext, позволяющему записывать пользовательские сообщения в ходе сеанса отладки