PageAdapter Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Адаптирует веб-страницу для определенного браузера и предоставляет базовый класс, от которого наследуются все адаптеры страниц, прямо или косвенно.
public ref class PageAdapter abstract : System::Web::UI::Adapters::ControlAdapter
public abstract class PageAdapter : System.Web.UI.Adapters.ControlAdapter
type PageAdapter = class
inherit ControlAdapter
Public MustInherit Class PageAdapter
Inherits ControlAdapter
- Наследование
Примеры
В следующем примере кода показано, как наследовать класс, именованный CustomPageAdapter из PageAdapter класса, и переопределить RenderBeginHyperlink метод. Метод RenderBeginHyperlink добавляет атрибут с именем src в гиперссылку, содержащую ссылку на текущую страницу. Все гиперссылки, отображаемые на страницах, к которым CustomPageAdapter присоединены, будут иметь src атрибут.
using System;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.Adapters;
// A derived PageAdapter class.
public class CustomPageAdapter : PageAdapter
{
// Override RenderBeginHyperlink to add an attribute that
// references the referring page.
public override void RenderBeginHyperlink(
HtmlTextWriter writer, string targetUrl,
bool encodeUrl, string softkeyLabel,
string accessKey )
{
string url = null;
// Add the src attribute, if referring page URL is available.
if( Page != null && Page.Request != null &&
Page.Request.Url != null )
{
url = Page.Request.Url.AbsoluteUri;
if( encodeUrl )
url = HttpUtility.HtmlAttributeEncode( url );
writer.AddAttribute( "src", url );
}
// Add the accessKey attribute, if caller requested.
if( accessKey != null && accessKey.Length == 1 )
writer.AddAttribute( "accessKey", accessKey );
// Add the href attribute, encode the URL if requested.
if( encodeUrl )
url = HttpUtility.HtmlAttributeEncode( targetUrl );
else
url = targetUrl;
writer.AddAttribute( "href", url );
// Render the hyperlink opening tag with the added attributes.
writer.RenderBeginTag( "a" );
}
}
Imports System.IO
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.Adapters
' A derived PageAdapter class.
Public Class CustomPageAdapter
Inherits PageAdapter
' Override RenderBeginHyperlink to add an attribute that
' references the referring page.
Public Overrides Sub RenderBeginHyperlink( _
ByVal writer As HtmlTextWriter, ByVal targetUrl As String, _
ByVal encodeUrl As Boolean, ByVal softkeyLabel As String, _
ByVal accessKey As String)
Dim url As String
' Add the src attribute, if referring page URL is available.
If Not (Page Is Nothing) Then
If Not (Page.Request Is Nothing) Then
If Not (Page.Request.Url Is Nothing) Then
url = Page.Request.Url.AbsoluteUri
If encodeUrl Then
url = HttpUtility.HtmlAttributeEncode(url)
End If
writer.AddAttribute("src", url)
End If
End If
End If
' Render the accessKey attribute, if requested.
If Not (accessKey Is Nothing) Then
If accessKey.Length = 1 Then
writer.AddAttribute("accessKey", accessKey)
End If
End If
' Add the href attribute, encode the URL if requested.
If (encodeUrl) Then
url = HttpUtility.HtmlAttributeEncode(targetUrl)
Else
url = targetUrl
End If
writer.AddAttribute("href", url)
' Render the hyperlink opening tag with the added attributes.
writer.RenderBeginTag("a")
End Sub
End Class
Комментарии
Класс PageAdapter является абстрактным классом, который адаптирует веб-страницу для определенного класса браузеров, определенного языком разметки, который использует браузер (например, HTML или XHTML). Большая часть адаптируемости в поведении отрисовки может быть инкапсулирована в специализированных классах записи текста, производных от HtmlTextWriter класса, поэтому не всегда необходимо предоставить адаптер страницы.
Большинство членов производных адаптеров страниц вызываются из класса или из Page адаптеров управления. Page Сначала класс или адаптеры управления определяют наличие производного адаптера страницы, а затем вызывают член или предоставляют функциональные возможности, если адаптер страницы отсутствует.
Члены PageAdapter класса предоставляют следующие функциональные возможности:
CacheVaryByParams Свойства CacheVaryByHeaders определяют дополнительные заголовки HTTP и параметры HTTP
GET,POSTкоторые можно использовать для изменения кэширования. Они вызываются во время инициализации кэша Page из класса.Метод GetStatePersister возвращает объект, который можно использовать для сохранения объединенных состояний представления и управления страницы. Он ссылается из свойства, PageStatePersister если присутствует производный адаптер страницы.
Этот GetPostBackFormReference метод предоставляет фрагмент кода DHTML, который можно использовать для ссылки на формы в скриптах.
Метод DeterminePostBackMode возвращает коллекцию переменных обратной передачи, если страница находится в обратном режиме. Он вызывается платформой .NET Framework вместо Page.DeterminePostBackMode метода, если присутствует производный адаптер страницы.
RenderEndHyperlink Методы RenderBeginHyperlink используются адаптерами элементов управления для отрисовки гиперссылок при наличии производного адаптера страницы.
Метод RenderPostBackEvent отрисовывает гиперссылку или тег клиента обратной передачи, который может отправить форму.
GetRadioButtonsByGroup Эти RegisterRadioButton методы используются адаптерами управления переключателями для ссылки на другие RadioButton элементы управления в группе переключателей.
Свойство ClientState предоставляет доступ к объединенному элементу управления и состоянию представления Page объекта через внутреннее
ClientStateсвойство Page класса.Метод TransformText используется адаптерами управления для выполнения преобразования текста для конкретного устройства.
Конструкторы
| Имя | Описание |
|---|---|
| PageAdapter() |
Инициализирует новый экземпляр класса PageAdapter. |
Свойства
| Имя | Описание |
|---|---|
| Browser |
Возвращает ссылку на возможности браузера клиента, выполняющего текущий HTTP-запрос. (Унаследовано от ControlAdapter) |
| CacheVaryByHeaders |
Получает список дополнительных заголовков HTTP, с помощью которых кэширование отличается для веб-страницы, к которой подключен этот производный адаптер страницы. |
| CacheVaryByParams |
Возвращает список дополнительных параметров из HTTP-запросов GET и POST, с помощью которых кэширование отличается для веб-страницы, к которой подключен этот производный адаптер страницы. |
| ClientState |
Получает закодированную строку, содержащую данные состояния представления и управления веб-страницы, к которой подключен этот производный адаптер страницы. |
| Control |
Возвращает ссылку на элемент управления, к которому подключен этот адаптер элемента управления. (Унаследовано от ControlAdapter) |
| Page |
Возвращает ссылку на страницу, в которой находится элемент управления, связанный с этим адаптером. (Унаследовано от ControlAdapter) |
| PageAdapter |
Возвращает ссылку на адаптер страницы для страницы, в которой находится связанный элемент управления. (Унаследовано от ControlAdapter) |
Методы
| Имя | Описание |
|---|---|
| BeginRender(HtmlTextWriter) |
Вызывается до отрисовки элемента управления. В производном классе адаптера создаются открывающиеся теги, необходимые определенному целевому объекту, но не необходимые браузерам HTML. (Унаследовано от ControlAdapter) |
| CreateChildControls() |
Создает целевые дочерние элементы управления для составного элемента управления. (Унаследовано от ControlAdapter) |
| DeterminePostBackMode() |
Определяет, находится ли веб-страница в обратной отправке и возвращает коллекцию имен и значений переменных обратной передачи. |
| DeterminePostBackModeUnvalidated() |
Возвращает коллекцию данных с именем, которые были размещены на странице с помощью команды POST или GET, не выполняя проверку запроса ASP.NET по запросу. |
| EndRender(HtmlTextWriter) |
Вызывается после отрисовки элемента управления. В производном классе адаптера создаются закрывающие теги, необходимые определенному целевому объекту, но не нужные браузерам HTML. (Унаследовано от ControlAdapter) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetPostBackFormReference(String) |
Возвращает фрагмент кода DHTML, который браузер клиента может использовать для ссылки на форму на странице, которая была размещена. |
| GetRadioButtonsByGroup(String) |
Извлекает коллекцию элементов управления переключателем, заданных |
| GetStatePersister() |
Возвращает объект, используемый веб-страницей для поддержания состояний элемента управления и просмотра. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| LoadAdapterControlState(Object) |
Загружает сведения о состоянии адаптера, сохраненные SaveAdapterControlState() во время предыдущего запроса на страницу, в которой находится элемент управления, связанный с этим адаптером управления. (Унаследовано от ControlAdapter) |
| LoadAdapterViewState(Object) |
Загружает сведения о состоянии представления адаптера, сохраненные SaveAdapterViewState() во время предыдущего запроса на страницу, в которой находится элемент управления, связанный с этим адаптером управления. (Унаследовано от ControlAdapter) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OnInit(EventArgs) |
Переопределяет OnInit(EventArgs) метод для связанного элемента управления. (Унаследовано от ControlAdapter) |
| OnLoad(EventArgs) |
Переопределяет OnLoad(EventArgs) метод для связанного элемента управления. (Унаследовано от ControlAdapter) |
| OnPreRender(EventArgs) |
Переопределяет OnPreRender(EventArgs) метод для связанного элемента управления. (Унаследовано от ControlAdapter) |
| OnUnload(EventArgs) |
Переопределяет OnUnload(EventArgs) метод для связанного элемента управления. (Унаследовано от ControlAdapter) |
| RegisterRadioButton(RadioButton) |
Добавляет элемент управления переключателя в коллекцию для указанной группы переключателей. |
| Render(HtmlTextWriter) |
Создает целевую разметку для элемента управления, к которому подключен адаптер элемента управления. (Унаследовано от ControlAdapter) |
| RenderBeginHyperlink(HtmlTextWriter, String, Boolean, String, String) |
Отрисовывает открывающий тег гиперссылки, содержащий целевой URL-адрес и ключ доступа к потоку ответа. |
| RenderBeginHyperlink(HtmlTextWriter, String, Boolean, String) |
Отрисовывает открывающий тег гиперссылки, содержащий целевой URL-адрес потока ответа. |
| RenderChildren(HtmlTextWriter) |
Создает целевую разметку для дочерних элементов управления в составном элементе управления, к которому подключен адаптер элемента управления. (Унаследовано от ControlAdapter) |
| RenderEndHyperlink(HtmlTextWriter) |
Отрисовывает закрывающий тег гиперссылки в поток ответа. |
| RenderPostBackEvent(HtmlTextWriter, String, String, String, String, String, String, Boolean) |
Отображает событие обратной передачи в поток отклика в виде гиперссылки, включая состояние закодированного представления, целевой объект события и аргумент, параметр предыдущей страницы и ключ доступа. |
| RenderPostBackEvent(HtmlTextWriter, String, String, String, String, String, String) |
Отображает событие обратной передачи в поток отклика в виде гиперссылки, включая закодированное и, возможно, зашифрованное состояние представления, целевое значение события и аргумент, параметр предыдущей страницы и ключ доступа. |
| RenderPostBackEvent(HtmlTextWriter, String, String, String, String) |
Отображает событие обратной передачи в поток отклика в виде гиперссылки, включая закодированное и возможно зашифрованное состояние представления, а также целевой объект и аргумент события. |
| SaveAdapterControlState() |
Сохраняет сведения о состоянии элемента управления для адаптера управления. (Унаследовано от ControlAdapter) |
| SaveAdapterViewState() |
Сохраняет сведения о состоянии представления для адаптера управления. (Унаследовано от ControlAdapter) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| TransformText(String) |
Преобразует текст для целевого браузера. |