HierarchicalDataBoundControlAdapter Classe

Definição

Personaliza o comportamento de um HierarchicalDataBoundControl objeto com o qual este adaptador de controlo está associado, para pedidos específicos do navegador.

public ref class HierarchicalDataBoundControlAdapter : System::Web::UI::WebControls::Adapters::WebControlAdapter
public class HierarchicalDataBoundControlAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
type HierarchicalDataBoundControlAdapter = class
    inherit WebControlAdapter
Public Class HierarchicalDataBoundControlAdapter
Inherits WebControlAdapter
Herança
HierarchicalDataBoundControlAdapter

Exemplos

O exemplo de código seguinte mostra como estender a HierarchicalDataBoundControlAdapter classe para renderizar um controlo hierárquico TreeView que está ligado a um XmlDataSource objeto.

Este exemplo de código contém quatro objetos:

  • Um adaptador derivado da HierarchicalDataBoundControlAdapter classe.

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

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

  • Um ficheiro XML que contém uma lista hierárquica de funcionários.

Este exemplo de código consiste em quatro segmentos de código. O primeiro segmento de código demonstra como estender a HierarchicalDataBoundControlAdapter 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 HierarchicalTreeViewAdapter :
        System.Web.UI.WebControls.Adapters.HierarchicalDataBoundControlAdapter
    {
        // Return a strongly-typed TreeView control for adapter.
        protected new System.Web.UI.WebControls.TreeView Control
        {
            get
            {
                return (System.Web.UI.WebControls.TreeView)base.Control;
            }
        }

        // Verify the DataSourceID property is set prior to binding data.
        protected override void PerformDataBinding()
        {
            if (Control.DataSourceID != null)
            {
                base.PerformDataBinding();
            }
        }
    }
}
Imports System.Web
Imports System.Security.Permissions

Namespace Contoso

    <AspNetHostingPermission(SecurityAction.Demand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
    <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class HierarchicalTreeViewAdapter
        Inherits _
        System.Web.UI.WebControls.Adapters.HierarchicalDataBoundControlAdapter

        ' Return a strongly-typed TreeView control for adapter.
        Protected Overloads ReadOnly Property Control() As _
            System.Web.UI.WebControls.TreeView

            Get
                Return CType( _
                    MyBase.Control, _
                    System.Web.UI.WebControls.TreeView)
            End Get
        End Property

        ' Verify the DataSourceID property is set prior to binding data.
        Protected Overrides Sub PerformDataBinding()

            If (Not Control.DataSourceID Is Nothing) Then

                MyBase.PerformDataBinding()
            End If
        End Sub
    End Class
End Namespace

O segundo segmento de código demonstra como declarar a TreeView para ligar a uma fonte de dados XML.

<%@ 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 runat="server">
    <title>HierarchicalDataBoundControl Adapter</title>
</head>
<body>
    <form id="Form1" runat="server">
        <asp:TreeView ID="TreeView1" 
            Runat="server" 
            DataSourceID="XmlDataSource1">

            <DataBindings>
                <asp:TreeNodeBinding    
                    DataMember="employees" Text="Employees"/>
                <asp:TreeNodeBinding    
                    DataMember="employee" TextField="id" />
                <asp:TreeNodeBinding    
                    DataMember="name" TextField="fullname" />
            </DataBindings>
        </asp:TreeView>
        
        <asp:XmlDataSource ID="XmlDataSource1"  
            Runat="server" 
            DataFile="employees.xml" />
        <br />
    </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 runat="server">
    <title>HierarchicalDataBoundControl Adapter</title>
</head>
<body>
    <form id="Form1" runat="server">
        <asp:TreeView ID="TreeView1" 
            Runat="server" 
            DataSourceID="XmlDataSource1">

            <DataBindings>
                <asp:TreeNodeBinding    
                    DataMember="employees" Text="Employees"/>
                <asp:TreeNodeBinding    
                    DataMember="employee" TextField="id" />
                <asp:TreeNodeBinding    
                    DataMember="name" TextField="fullname" />
            </DataBindings>
        </asp:TreeView>
        
        <asp:XmlDataSource ID="XmlDataSource1"  
            Runat="server" 
            DataFile="employees.xml" />
        <br />
    </form>
</body>
</html>

O terceiro segmento de código mostra como ligar o controlo TreeView ao adaptador personalizado para navegadores a correr em Windows CE.

O segmento final de código fornece os dados XML aos quais o TreeView controlo se liga.

Observações

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

Um HierarchicalDataBoundControl controlo está ligado a uma fonte de dados e gera a sua interface de utilizador (ou hierarquia de controlo filho, tipicamente), enumerando os itens na fonte de dados à qual está vinculado. Para mais informações sobre controlos hierárquicos encadernados por dados, veja HierarchicalDataBoundControl.

Os adaptadores de controlo são componentes .NET que gerem uma ou mais etapas no ciclo de vida de um controlo para um navegador específico. Estender a HierarchicalDataBoundControlAdapter classe proporciona acesso às fases do ciclo de vida do HierarchicalDataBoundControl 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 requerente. 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.

Construtores

Name Description
HierarchicalDataBoundControlAdapter()

Inicializa uma nova instância da HierarchicalDataBoundControlAdapter 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

Recupera uma referência fortemente tipada ao HierarchicalDataBoundControl controlo associado a este HierarchicalDataBoundControlAdapter objeto.

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)
PerformDataBinding()

Vincula os dados na fonte de dados do controlo hierárquico associado ao adaptador.

Render(HtmlTextWriter)

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

(Herdado de WebControlAdapter)
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