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 метода, если присутствует производный адаптер страницы.
Эти RenderBeginHyperlink RenderEndHyperlink методы используются адаптерами элементов управления для отрисовки гиперссылок при наличии производного адаптера страницы.
Метод 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() |
Возвращает коллекцию данных имя-значение, отправленную на страницу с помощью команды GET или POST, и без выполнения проверки запросов 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) |
Подготавливает к просмотру открывающий тэг гиперссылки, который включает конечный URL-адрес для ответного потока. |
RenderBeginHyperlink(HtmlTextWriter, String, Boolean, String, String) |
Подготавливает к просмотру открывающий тэг гиперссылки, который включает конечный URL-адрес и код доступа к ответному потоку. |
RenderChildren(HtmlTextWriter) |
Создает целевую разметку для дочерних элементов управления в составном элементе управления, к которому присоединяется адаптер элемента управления. (Унаследовано от ControlAdapter) |
RenderEndHyperlink(HtmlTextWriter) |
Подготавливает к просмотру закрывающий тэг гиперссылки для ответного потока. |
RenderPostBackEvent(HtmlTextWriter, String, String, String, String) |
Отображает событие обратной передачи в ответном потоке в виде гиперссылки, включая закодированное и, возможно, зашифрованное состояние просмотра, а также цель и аргумент события. |
RenderPostBackEvent(HtmlTextWriter, String, String, String, String, String, String) |
Отображает событие обратной передачи в ответном потоке в виде гиперссылки, включая закодированное и, возможно, зашифрованное состояние просмотра, а также цель и аргумент события, параметр предыдущей страницы и код доступа. |
RenderPostBackEvent(HtmlTextWriter, String, String, String, String, String, String, Boolean) |
Отображает событие обратной передачи в ответном потоке в виде гиперссылки, включая закодированное состояние просмотра, а также цель и аргумент события, параметр предыдущей страницы и код доступа. |
SaveAdapterControlState() |
Сохраняет сведения о состоянии элемента управления для адаптера элемента управления. (Унаследовано от ControlAdapter) |
SaveAdapterViewState() |
Сохраняет сведения о состоянии просмотра для адаптера элемента управления. (Унаследовано от ControlAdapter) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
TransformText(String) |
Выполняет преобразование текста для целевого браузера. |