HideDisabledControlAdapter Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет возможности отрисовки, обеспечивающие для связанного веб-элемента управления изменение используемой по умолчанию разметки или поведения в соответствии с требованиями конкретного браузера.
public ref class HideDisabledControlAdapter : System::Web::UI::WebControls::Adapters::WebControlAdapter
public class HideDisabledControlAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
type HideDisabledControlAdapter = class
inherit WebControlAdapter
Public Class HideDisabledControlAdapter
Inherits WebControlAdapter
- Наследование
Примеры
В следующем примере кода показано, как расширить HideDisabledControlAdapter класс для отображения Label элемента управления в включенном и отключенном состоянии. Этот пример содержит три части:
Адаптер, производный HideDisabledControlAdapter от класса .
Файл .aspx, включающий элемент управления и содержимое, относящееся к конкретному Label устройству.
Файл браузера для связывания адаптера с типом устройства.
В следующем примере кода показано, как расширить HideDisabledControlAdapter класс .
using System;
using System.Web;
using System.Web.UI;
using System.Security.Permissions;
namespace Contoso
{
[AspNetHostingPermission(
SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(
SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public class HideDisabledControlContosoAdapter:
System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter
{
// Link the Label control to the adapter.
protected new System.Web.UI.WebControls.Label Control
{
get
{
return (System.Web.UI.WebControls.Label)base.Control;
}
}
// Do not render the Contoso controls if Enabled is false.
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
if (Control.ID.StartsWith("Contoso"))
{
if (!Control.Enabled)
{
return;
}
}
base.Render(writer);
}
}
}
Imports System.Web
Imports System.Web.UI
Imports System.Security.Permissions
Namespace Contoso
<AspNetHostingPermission( _
SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission( _
SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class HideDisabledControlContosoAdapter
Inherits System.Web.UI.WebControls.Adapters.HideDisabledControlAdapter
Protected Overloads ReadOnly Property Control() As _
System.Web.UI.WebControls.Label
Get
Return CType( _
MyBase.Control, _
System.Web.UI.WebControls.Label)
End Get
End Property
' Do not render the control if Enabled is false.
Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
If (Control.ID.StartsWith("Contoso")) Then
If (Not Control.Enabled) Then
Return
End If
End If
MyBase.Render(writer)
End Sub
End Class
End Namespace
В следующем примере кода показано, как объявить Label элемент управления с содержимым для конкретного устройства.
<%@ page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>HideDisabledControl Adapter</title>
<script runat="server">
void ServerButtonClick(Object source, EventArgs args)
{
if (Button1.Text == "Enable Label")
{
ContosoLabel1.Enabled = true;
Button1.Text = "Disable Label";
messageLabel.Text = "The label is <b>En</b>abled";
}
else
{
ContosoLabel1.Enabled = false;
Button1.Text = "Enable Label";
messageLabel.Text = "The label is <b>dis</b>abled";
}
}
</script>
</head>
<body style="background-color:silver">
<form id="Form1" runat="server">
<asp:Label id="ContosoLabel1"
text="Contoso Label"
WinCE:text="CE Label"
BorderWidth="3"
BorderStyle="Inset"
style="FONT-SIZE: xx-small"
runat="server">
</asp:Label>
<br />
<asp:Button id="Button1"
text="Disable Label"
OnClick="ServerButtonClick"
runat="server" />
<br />
<asp:Label id="messageLabel"
runat="server"
style="FONT-SIZE: xx-small"
AssociatedControlID="Button1">
<i>Select the button to disable the label.</i>
</asp:Label>
</form>
</body>
</html>
<%@ page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>HideDisabledControl Adapter</title>
<script runat="server">
Sub ServerButtonClick(ByVal source As Object, ByVal args As EventArgs)
If (Button1.Text.Equals("Enable Label")) Then
ContosoLabel1.Enabled = True
Button1.Text = "Disable Label"
messageLabel.Text = "The label is <b>En</b>abled"
Else
ContosoLabel1.Enabled = False
Button1.Text = "Enable Label"
messageLabel.Text = "The label is <b>dis</b>abled"
End If
End Sub
</script>
</head>
<body style="background-color:silver">
<form id="Form1" runat="server">
<asp:Label id="ContosoLabel1"
text="Contoso Label"
WinCE:text="CE Label"
BorderWidth="3"
BorderStyle="Inset"
style="FONT-SIZE: xx-small"
runat="server">
</asp:Label>
<br />
<asp:Button id="Button1"
text="Disable Label"
OnClick="ServerButtonClick"
runat="server" />
<br />
<asp:Label id="messageLabel"
runat="server"
style="FONT-SIZE: xx-small"
AssociatedControlID="Button1">
<i>Select the button to disable the label.</i>
</asp:Label>
</form>
</body>
</html>
В следующем примере кода показано, как связать Label элемент управления с пользовательским адаптером для браузеров, работающих в Windows CE .NET.
Комментарии
Класс HideDisabledControlAdapter адаптирует связанный WebControl элемент управления для изменения разметки или поведения по умолчанию для определенного браузера. Класс можно расширить для HideDisabledControlAdapter дальнейшей настройки отрисовки WebControl элемента управления .
Адаптеры — это скомпилированные компоненты .NET Framework, которые занимают один или несколько этапов жизненного цикла страницы или элемента управления. Расширение HideDisabledControlAdapter класса обеспечит доступ к этапам жизненного WebControl цикла элемента управления . Дополнительные сведения см. в разделе Обзор архитектуры адаптивного поведения элементов управления.
Первоначальный запрос адаптера приводит к тому, что платформа .NET Framework выполняет поиск сопоставленного адаптера для элемента управления с учетом характеристик запрашивающего браузера. Файлы определения браузеров используются классом HttpBrowserCapabilities для определения характеристик клиентского браузера и сопоставления адаптера с типом браузера. Дополнительные сведения см. в разделе Обзор архитектуры адаптивного поведения элементов управления.
Конструкторы
HideDisabledControlAdapter() |
Инициализирует новый экземпляр класса HideDisabledControlAdapter. |
Свойства
Browser |
Возвращает ссылку на возможности клиентского браузера, создающего текущий HTTP-запрос. (Унаследовано от ControlAdapter) |
Control |
Возвращает ссылку на веб-элемент управления, к которому присоединен адаптер элемента управления. (Унаследовано от WebControlAdapter) |
IsEnabled |
Возвращает значение, показывающее доступность веб-элемента управления и всех его родительских элементов управления. (Унаследовано от WebControlAdapter) |
Page |
Возвращает ссылку на страницу, на которой располагается элемент управления, связанный с данным адаптером. (Унаследовано от ControlAdapter) |
PageAdapter |
Возвращает ссылку на адаптер страницы для страницы, на которой располагается связанный элемент управления. (Унаследовано от ControlAdapter) |
Методы
BeginRender(HtmlTextWriter) |
Вызывается до отрисовки элемента управления. В производном классе адаптеров генерируются открывающие теги, которые необходимы для определенной цели, но не требуются для HTML-браузеров. (Унаследовано от ControlAdapter) |
CreateChildControls() |
Создает целевые дочерние элементы управления для составного элемента управления. (Унаследовано от ControlAdapter) |
EndRender(HtmlTextWriter) |
Вызывается после отрисовки элемента управления. В производном классе адаптеров генерируются закрывающие теги, которые необходимы для определенной цели, но не требуются для HTML-браузеров. (Унаследовано от ControlAdapter) |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
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) |
Render(HtmlTextWriter) |
Записывает связанный веб-элемент управления в выходной поток как код HTML. |
RenderBeginTag(HtmlTextWriter) |
Создает начальный тег веб-элемента управления в разметке для передачи в целевой браузер. (Унаследовано от WebControlAdapter) |
RenderChildren(HtmlTextWriter) |
Создает целевую разметку для дочерних элементов управления в составном элементе управления, к которому присоединяется адаптер элемента управления. (Унаследовано от ControlAdapter) |
RenderContents(HtmlTextWriter) |
Создает для веб-элемента управления, к которому присоединен соответствующий адаптер, особую внутреннюю разметку, характерную для целевого объекта. (Унаследовано от WebControlAdapter) |
RenderEndTag(HtmlTextWriter) |
Создает закрывающий тег веб-элемента управления в разметке для передачи в целевой браузер. (Унаследовано от WebControlAdapter) |
SaveAdapterControlState() |
Сохраняет сведения о состоянии элемента управления для адаптера элемента управления. (Унаследовано от ControlAdapter) |
SaveAdapterViewState() |
Сохраняет сведения о состоянии просмотра для адаптера элемента управления. (Унаследовано от ControlAdapter) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |