Поделиться через


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

Примеры

В следующем примере кода показано, как расширить 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)

Применяется к

См. также раздел