Основным объектом в ASP.NET является страница. Вы можете получить доступ к свойствам объекта страницы напрямую, без какого-либо квалифицирующего объекта. В предыдущих главах мы использовали некоторые свойства и методы объекта страницы, такие как Layout, RenderPage и RenderBody. Класс WebPageBase является базовым классом для классов, представляющих страницу ASP.NET Razor.
Свойства и методы объектной модели страницы
Ниже приведены некоторые из наиболее часто используемых свойств объекта Page Object.
S.No | Описание недвижимости |
---|---|
1 |
IsPost Возвращает true, если используемый клиентом метод передачи данных HTTP является запросом POST. |
2 |
раскладка Получает или задает путь страницы макета. |
3 |
Выход Получает текущий объект TextWriter для страницы. |
4 |
страница Обеспечивает подобный свойствам доступ к данным, совместно используемым между страницами и страницами макета |
5 |
Запрос Получает объект HttpRequest для текущего HTTP-запроса. |
6 |
сервер Получает объект HttpServerUtility, который предоставляет методы обработки веб-страниц. |
IsPost
Возвращает true, если используемый клиентом метод передачи данных HTTP является запросом POST.
раскладка
Получает или задает путь страницы макета.
Выход
Получает текущий объект TextWriter для страницы.
страница
Обеспечивает подобный свойствам доступ к данным, совместно используемым между страницами и страницами макета
Запрос
Получает объект HttpRequest для текущего HTTP-запроса.
сервер
Получает объект HttpServerUtility, который предоставляет методы обработки веб-страниц.
Ниже приведены некоторые из наиболее часто используемых методов объекта Page Object.
S.No | Метод и описание |
---|---|
1 |
ConfigurePage При переопределении в производном классе настраивает текущую веб-страницу на основе конфигурации родительской веб-страницы. |
2 |
DefineSection Вызывается страницами содержимого для создания именованных разделов содержимого. |
3 |
ExecutePageHierarchy () Выполняет код в наборе зависимых веб-страниц. |
4 |
GetOutputWriter Возвращает экземпляр модуля записи текста, который используется для визуализации страницы. |
5 |
HREF Создает URL с использованием указанных параметров |
6 |
InitializePage Инициализирует текущую страницу. |
7 |
IsSectionDefined Возвращает значение, указывающее, определен ли указанный раздел на странице. |
8 |
PopContext Возвращает и удаляет контекст из верхней части экземпляра OutputStack. |
9 |
PushContext Вставляет указанный контекст в начало экземпляра OutputStack. |
10 |
RenderBody () Отрисовывает часть страницы содержимого, которая не находится в именованном разделе (на страницах макета) |
11 |
RenderPage (страница) Отображает содержимое одной страницы на другой странице |
12 |
RenderSection (раздел) Визуализирует содержимое именованного раздела (на страницах макета) |
13 |
Написать (объект) Записывает объект как строку в кодировке HTML |
14 |
WriteLiteral Пишет объект без HTML-кодирования его первым. |
ConfigurePage
При переопределении в производном классе настраивает текущую веб-страницу на основе конфигурации родительской веб-страницы.
DefineSection
Вызывается страницами содержимого для создания именованных разделов содержимого.
ExecutePageHierarchy ()
Выполняет код в наборе зависимых веб-страниц.
GetOutputWriter
Возвращает экземпляр модуля записи текста, который используется для визуализации страницы.
HREF
Создает URL с использованием указанных параметров
InitializePage
Инициализирует текущую страницу.
IsSectionDefined
Возвращает значение, указывающее, определен ли указанный раздел на странице.
PopContext
Возвращает и удаляет контекст из верхней части экземпляра OutputStack.
PushContext
Вставляет указанный контекст в начало экземпляра OutputStack.
RenderBody ()
Отрисовывает часть страницы содержимого, которая не находится в именованном разделе (на страницах макета)
RenderPage (страница)
Отображает содержимое одной страницы на другой странице
RenderSection (раздел)
Визуализирует содержимое именованного раздела (на страницах макета)
Написать (объект)
Записывает объект как строку в кодировке HTML
WriteLiteral
Пишет объект без HTML-кодирования его первым.
Давайте рассмотрим простой пример свойства Page объекта Page Object, который обеспечивает подобный свойствам доступ к данным, которые совместно используются страницами и страницами макета. В этом примере мы установим заголовок страницы, используя свойство Page.Title .
Вот реализация файла MyLayoutPage.cshtml, в котором мы установили заголовок страницы.
@{ Layout = "~/_Layout.cshtml"; page.Title = "Layout Page"; } <h1> H1 Heading from the Layout page </h1> <p> This is the Main Body part from the Layout page</p>
Теперь нам нужно указать тот же заголовок страницы на странице _Layout.cshtml, как показано в следующем коде.
@{ } <!DOCTYPE html> <html lang = "en"> <head> <title>@Page.Title</title> <link href = "@Href("/Styles/Site.css")" rel = "stylesheet" type = "text/css" /> </head> <body> @RenderPage("/Shared/_Header.cshtml") <div id = "main">@RenderBody()</div> @RenderPage("/Shared/_Footer.cshtml") </body> </html>
Давайте запустим приложение и укажем следующий URL — http: // localhost: 46023 / MyLayoutPage, после чего вы увидите следующую страницу.
Как вы можете видеть, заголовок теперь является страницей макета, которую мы установили, используя свойство Page объекта Page.
Давайте рассмотрим еще один простой пример, в котором мы будем использовать свойство Request объекта Page.
@{ Layout = "~/_Layout.cshtml"; Page.Title = "Layout Page"; var path = Request.FilePath; var pageUrl = this.Request.Url; } <h1> H1 Heading from the Layout page </h1> <p> This is the Main Body part from the Layout page</p> <a href = "@pageUrl">My page</a> <p>Page Url: @pageUrl</p> <p>File Path: @path</p>
Вы можете получить путь к файлу страницы и URL, используя объект запроса страницы. Давайте снова запустим ваше приложение, и вы увидите следующий результат.