Вы должны догадываться, что каждый из этих базовых классов вносит в файл *.aspx свой "немалый вклад" в отношении функциональных возможностей. Для большинства проектов вы будете использовать члены, определенные в рамках родительских классов Page и Control. Вообще говоря, функциональные возможности, приобретенные от класса System.Web.UI.TemplateControl, могут представлять для вас интерес только при построении пользовательских элементов управления Web Form и при взаимодействии с процессом визуализации. С этими оговорками давайте рассмотрим роль типа Page.
Рис. 23.18. Происхождение страницы ASP.NET
Первым интересующим нас родительским классом является сам класс 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, позволяющему записывать пользовательские сообщения в ходе сеанса отладки |
Вы уже видели выше, что основной поток Web-сеанса начинается с регистрации клиента, ввода пользовательской информации и щелчка на кнопке Отправить, в результате чего данные HTML-формы направляются Web-странице для обработки. В большинстве случаев открывающий дескриптор form содержит атрибуты action и method, указывающие файл на Web-сервере, который должен обеспечить данные различным HTML-элементам, и метод пересылки этих данных (GET или POST).
‹form name="defaultPage" id="defaultPage" action="http://localhost/Cars/ClassicAspPage.asp" method = "GET"›
‹/form›
В отличие от классической технологии ASP, в рамках ASP.NET объект с именем Request не поддерживается. Однако все страницы ASP.NET наследуют свойство System.Web.UI.Page.Request, обеспечивающее доступ к экземпляру типа класса HttpRequest. В табл. 23.5 предлагаются описания некоторых базовых членов указанного типа, и не удивительно, что эти члены предлагают возможности, аналогичные возможностям членов, присутствующих в уже устаревшем объекте Request классической модели ASP.
Таблица 23.5. Члены типа HttpRequest