HideDisabledControlAdapter Classe

Definição

Fornece capacidades de renderização para o controle da Web associado para modificar o comportamento ou a marcação padrão de um navegador específico.

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
Herança
HideDisabledControlAdapter

Exemplos

O exemplo de código a seguir mostra como estender a HideDisabledControlAdapter classe para exibir um Label controle em um estado habilitado e desabilitado. Este exemplo contém três partes:

  • Um adaptador derivado da HideDisabledControlAdapter classe .

  • O arquivo .aspx que incorpora o controle e o Label conteúdo específico do dispositivo.

  • Um arquivo do navegador para vincular o adaptador a um tipo de dispositivo.

O exemplo de código a seguir demonstra como estender a HideDisabledControlAdapter classe .

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

O exemplo de código a seguir demonstra como declarar um Label controle com conteúdo específico do dispositivo.

<%@ 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>

O exemplo de código a seguir mostra como vincular o Label controle ao adaptador personalizado para navegadores em execução no Windows CE .NET.

Comentários

A HideDisabledControlAdapter classe adapta o controle associado WebControl para modificar a marcação padrão ou o comportamento de um navegador específico. Você pode estender a HideDisabledControlAdapter classe para personalizar ainda mais a renderização do WebControl controle.

Os adaptadores são componentes compilados do .NET Framework que assumem um ou mais estágios no ciclo de vida de uma página ou controle. Estender a HideDisabledControlAdapter classe fornecerá acesso aos estágios do ciclo de vida do WebControl controle. Para obter mais informações, consulte Visão geral da arquitetura do comportamento do controle adaptável.

A solicitação inicial de um adaptador faz com que o .NET Framework pesquise um adaptador mapeado para o controle, considerando as características do navegador solicitante. Os arquivos de definição do HttpBrowserCapabilities navegador são usados pela classe para identificar as características do navegador cliente e mapear o adaptador para o tipo de navegador. Para obter mais informações, consulte Visão geral da arquitetura do comportamento do controle adaptável.

Construtores

HideDisabledControlAdapter()

Inicializa uma nova instância da classe HideDisabledControlAdapter.

Propriedades

Browser

Obtém uma referência aos recursos do navegador do cliente que está fazendo a solicitação HTTP atual.

(Herdado de ControlAdapter)
Control

Obtém uma referência ao controle da Web ao qual esse adaptador de controle está anexado.

(Herdado de WebControlAdapter)
IsEnabled

Obtém um valor que indica se o controle da Web e todos os seus controles pais estão habilitados.

(Herdado de WebControlAdapter)
Page

Obtém uma referência à página em que o controle associado a esse adaptador está.

(Herdado de ControlAdapter)
PageAdapter

Obtém uma referência ao adaptador de página da página em que o controle associado está.

(Herdado de ControlAdapter)

Métodos

BeginRender(HtmlTextWriter)

Chamado antes da renderização de um controle. Em uma classe de adaptador derivada, gera marcas de abertura que são necessárias para um destino específico, mas não para navegadores HTML.

(Herdado de ControlAdapter)
CreateChildControls()

Cria os controles filho de destino específico de um controle de composição.

(Herdado de ControlAdapter)
EndRender(HtmlTextWriter)

Chamado depois da renderização de um controle. Em uma classe de adaptador derivada, gera marcas de fechamento que são necessárias para um destino específico, mas não para navegadores HTML.

(Herdado de ControlAdapter)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadAdapterControlState(Object)

Carrega informações sobre o estado do controle do adaptador que foram salvas pelo SaveAdapterControlState() durante a solicitação anterior à página em que o controle associado a esse adaptador de controle está.

(Herdado de ControlAdapter)
LoadAdapterViewState(Object)

Carrega informações sobre o estado de exibição do adaptador que foram salvas pelo SaveAdapterViewState() durante uma solicitação anterior à página em que o controle associado a esse adaptador de controle está.

(Herdado de ControlAdapter)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnInit(EventArgs)

Substitui o método OnInit(EventArgs) do controle associado.

(Herdado de ControlAdapter)
OnLoad(EventArgs)

Substitui o método OnLoad(EventArgs) do controle associado.

(Herdado de ControlAdapter)
OnPreRender(EventArgs)

Substitui o método OnPreRender(EventArgs) do controle associado.

(Herdado de ControlAdapter)
OnUnload(EventArgs)

Substitui o método OnUnload(EventArgs) do controle associado.

(Herdado de ControlAdapter)
Render(HtmlTextWriter)

Grava o controle da Web associado ao fluxo de saída como HTML.

RenderBeginTag(HtmlTextWriter)

Cria a marca de início para o controle da Web na marcação que é transmitida para o navegador de destino.

(Herdado de WebControlAdapter)
RenderChildren(HtmlTextWriter)

Gera a marcação específica para o destino dos controles filho em um controle de composição ao qual o adaptador de controle está anexado.

(Herdado de ControlAdapter)
RenderContents(HtmlTextWriter)

Gera a marcação interna específica do destino do controle da Web ao qual o adaptador de controle está anexado.

(Herdado de WebControlAdapter)
RenderEndTag(HtmlTextWriter)

Cria a marca de término para o controle da Web na marcação que é transmitida para o navegador de destino.

(Herdado de WebControlAdapter)
SaveAdapterControlState()

Salva informações de estado do controle do adaptador de controle.

(Herdado de ControlAdapter)
SaveAdapterViewState()

Salva informações de estado de exibição do adaptador de controle.

(Herdado de ControlAdapter)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também