HideDisabledControlAdapter Classe

Definição

Fornece recursos de renderização para que o controle Web associado modifique a marcação ou o comportamento 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 controle Label ao adaptador personalizado para navegadores em execução no .NET ce Windows.

Comentários

A HideDisabledControlAdapter classe adapta o controle associado WebControl para modificar a marcação ou o comportamento padrão 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 compilados .NET componentes da Estrutura 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

Nome Description
HideDisabledControlAdapter()

Inicializa uma nova instância da classe HideDisabledControlAdapter.

Propriedades

Nome Description
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 Web e todos os seus controles pai estão habilitados.

(Herdado de WebControlAdapter)
Page

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

(Herdado de ControlAdapter)
PageAdapter

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

(Herdado de ControlAdapter)

Métodos

Nome Description
BeginRender(HtmlTextWriter)

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

(Herdado de ControlAdapter)
CreateChildControls()

Cria os controles filho específicos de destino para um controle composto.

(Herdado de ControlAdapter)
EndRender(HtmlTextWriter)

Chamado após a renderização de um controle. Em uma classe de adaptador derivada, gera marcas de fechamento que são exigidas por um destino específico, mas não necessárias 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 hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadAdapterControlState(Object)

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

(Herdado de ControlAdapter)
LoadAdapterViewState(Object)

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

(Herdado de ControlAdapter)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
OnInit(EventArgs)

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

(Herdado de ControlAdapter)
OnLoad(EventArgs)

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

(Herdado de ControlAdapter)
OnPreRender(EventArgs)

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

(Herdado de ControlAdapter)
OnUnload(EventArgs)

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

(Herdado de ControlAdapter)
Render(HtmlTextWriter)

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

RenderBeginTag(HtmlTextWriter)

Cria a marcação inicial para o controle Web na marcação transmitida para o navegador de destino.

(Herdado de WebControlAdapter)
RenderChildren(HtmlTextWriter)

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

(Herdado de ControlAdapter)
RenderContents(HtmlTextWriter)

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

(Herdado de WebControlAdapter)
RenderEndTag(HtmlTextWriter)

Cria a marca final para o controle Web na marcação transmitida para o navegador de destino.

(Herdado de WebControlAdapter)
SaveAdapterControlState()

Salva informações de estado de controle para o adaptador de controle.

(Herdado de ControlAdapter)
SaveAdapterViewState()

Salva informações de estado de exibição para o 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