HideDisabledControlAdapter Classe

Definição

Fornece capacidades de renderização para o controlo Web associado modificar a marcação ou comportamento padrão para 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 seguinte mostra como estender a HideDisabledControlAdapter classe para mostrar um Label controlo num estado ativado e desativado. Este exemplo contém três partes:

  • Um adaptador derivado da HideDisabledControlAdapter classe.

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

  • Um ficheiro de navegador para ligar o adaptador a um tipo de dispositivo.

O seguinte exemplo de código 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 seguinte demonstra como declarar um Label controlo com conteúdo específico de cada 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 seguinte mostra como ligar o controlo Label ao adaptador personalizado para navegadores a correr em Windows CE .NET.

Observações

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

Adaptadores são componentes compilados do .NET Framework que assumem uma ou mais fases do ciclo de vida de uma página ou controlo. A extensão da HideDisabledControlAdapter classe proporcionará acesso às fases do ciclo de vida do WebControl controlo. Para mais informações, consulte Visão Geral Arquitetónica do Comportamento de Controlo Adaptativo.

O pedido inicial de um adaptador faz com que o .NET Framework procure um adaptador mapeado para o controlo, dadas as características do navegador solicitante. Os ficheiros de definição do navegador são usados pela HttpBrowserCapabilities classe para identificar as características do navegador cliente e mapear o adaptador para o tipo de navegador. Para mais informações, consulte Visão Geral Arquitetónica do Comportamento de Controlo Adaptativo.

Construtores

Name Description
HideDisabledControlAdapter()

Inicializa uma nova instância da HideDisabledControlAdapter classe.

Propriedades

Name Description
Browser

Obtém uma referência às capacidades do navegador do cliente que faz o pedido HTTP atual.

(Herdado de ControlAdapter)
Control

Obtém uma referência ao controlo Web ao qual este adaptador de controlo está ligado.

(Herdado de WebControlAdapter)
IsEnabled

Recebe um valor que indica se o controlo Web e todos os seus controlos pais estão ativados.

(Herdado de WebControlAdapter)
Page

Recebe uma referência para a página onde está o controlo associado a este adaptador.

(Herdado de ControlAdapter)
PageAdapter

Obtém uma referência ao adaptador de página da página onde reside o controlo associado.

(Herdado de ControlAdapter)

Métodos

Name Description
BeginRender(HtmlTextWriter)

Chamado antes da renderização de um controlo. Numa classe adaptadora derivada, gera etiquetas de abertura que são exigidas por um destino específico mas não necessárias pelos navegadores HTML.

(Herdado de ControlAdapter)
CreateChildControls()

Cria os controlos filhos específicos do alvo para um controlo composto.

(Herdado de ControlAdapter)
EndRender(HtmlTextWriter)

Chamado após a renderização de um controlo. Numa classe adaptadora derivada, gera etiquetas de fecho que são exigidas por um destino específico mas não necessárias pelos navegadores HTML.

(Herdado de ControlAdapter)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadAdapterControlState(Object)

Carrega a informação do estado de controlo do adaptador que foi guardada SaveAdapterControlState() durante um pedido anterior na página onde reside o controlo associado a este adaptador.

(Herdado de ControlAdapter)
LoadAdapterViewState(Object)

O adaptador carrega a informação de estado da visualização que foi guardada durante SaveAdapterViewState() um pedido anterior para a página onde reside o controlo associado a este adaptador de controlo.

(Herdado de ControlAdapter)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
OnInit(EventArgs)

Sobrepõe o OnInit(EventArgs) método para o controlo associado.

(Herdado de ControlAdapter)
OnLoad(EventArgs)

Sobrepõe o OnLoad(EventArgs) método para o controlo associado.

(Herdado de ControlAdapter)
OnPreRender(EventArgs)

Sobrepõe o OnPreRender(EventArgs) método para o controlo associado.

(Herdado de ControlAdapter)
OnUnload(EventArgs)

Sobrepõe o OnUnload(EventArgs) método para o controlo associado.

(Herdado de ControlAdapter)
Render(HtmlTextWriter)

Escreve o controlo Web associado no fluxo de saída como HTML.

RenderBeginTag(HtmlTextWriter)

Cria a etiqueta inicial para o controlo Web na marcação que é transmitida para o navegador de destino.

(Herdado de WebControlAdapter)
RenderChildren(HtmlTextWriter)

Gera a marcação específica do alvo para os controlos filhos num controlo composto ao qual o adaptador de controlo está ligado.

(Herdado de ControlAdapter)
RenderContents(HtmlTextWriter)

Gera a marcação interna específica do alvo para o controlo Web ao qual o adaptador de controlo está ligado.

(Herdado de WebControlAdapter)
RenderEndTag(HtmlTextWriter)

Cria a etiqueta final para o controlo Web na marcação que é transmitida ao navegador de destino.

(Herdado de WebControlAdapter)
SaveAdapterControlState()

Guarda a informação do estado de controlo para o adaptador de controlo.

(Herdado de ControlAdapter)
SaveAdapterViewState()

Guarda a informação do estado da vista para o adaptador de controlo.

(Herdado de ControlAdapter)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também