Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe HierarchicalDataSourceControl

 

Fornece uma classe base para controles da fonte de dados que representam dados hierárquicos.

Namespace:   System.Web.UI
Assembly:  System.Web (em System.Web.dll)

System.Object
  System.Web.UI.Control
    System.Web.UI.HierarchicalDataSourceControl
      System.Web.UI.WebControls.SiteMapDataSource
      System.Web.UI.WebControls.XmlDataSource

[BindableAttribute(false)]
public abstract class HierarchicalDataSourceControl : Control, 
	IHierarchicalDataSource

NomeDescrição
System_CAPS_protmethodHierarchicalDataSourceControl()

Inicializa uma nova instância da classe HierarchicalDataSourceControl.

NomeDescrição
System_CAPS_protpropertyAdapter

Obtém as especificações do navegador para o controle. (Herdado de Control.)

System_CAPS_pubpropertyAppRelativeTemplateSourceDirectory

Obtém ou define o diretório virtual relativo de aplicativo da Page ou UserControl objeto que contém este controle.(Herdado de Control.)

System_CAPS_pubpropertyBindingContainer

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Obtém o controle que contém a associação de dados deste controle.(Herdado de Control.)

System_CAPS_protpropertyChildControlsCreated

Obtém um valor que indica se os controles filho do controle de servidor foram criados.(Herdado de Control.)

System_CAPS_pubpropertyClientID

Obtém o identificador de controle de servidor gerado pelo ASP.NET.(Substitui o Control.ClientID.)

System_CAPS_pubpropertyClientIDMode

Essa propriedade não é usada para controles da fonte de dados.(Substitui o Control.ClientIDMode.)

System_CAPS_protpropertyClientIDSeparator

Obtém um valor de caractere que representa o caractere separador usado no ClientID propriedade.(Herdado de Control.)

System_CAPS_protpropertyContext

Obtém o HttpContext objeto associado com o controle de servidor para a solicitação da Web atual.(Herdado de Control.)

System_CAPS_pubpropertyControls

Obtém uma ControlCollection objeto que representa os controles filho de um controle de servidor especificado na hierarquia de interface do usuário.(Substitui o Control.Controls.)

System_CAPS_pubpropertyDataItemContainer

Obtém uma referência para o recipiente de nomenclatura se o recipiente de nomenclatura implementa IDataItemContainer.(Herdado de Control.)

System_CAPS_pubpropertyDataKeysContainer

Obtém uma referência para o recipiente de nomenclatura se o recipiente de nomenclatura implementa IDataKeysControl.(Herdado de Control.)

System_CAPS_protpropertyDesignMode

Obtém um valor que indica se um controle está sendo usado em uma superfície de design.(Herdado de Control.)

System_CAPS_pubpropertyEnableTheming

Obtém um valor que indica se esse controle oferece suporte a temas.(Substitui o Control.EnableTheming.)

System_CAPS_pubpropertyEnableViewState

Obtém ou define um valor que indica se o controle de servidor persiste seu estado de exibição e o estado de exibição de quaisquer controles filho que ele contém, para o cliente solicitante.(Herdado de Control.)

System_CAPS_protpropertyEvents

Obtém uma lista de delegados de manipulador de eventos para o controle. Esta propriedade é somente leitura.(Herdado de Control.)

System_CAPS_protpropertyHasChildViewState

Obtém um valor indicando se os atuais controles filhos do controle do servidor têm quaisquer configurações do estado de visualização salvas.(Herdado de Control.)

System_CAPS_pubpropertyID

Obtém ou define o identificador programático atribuído ao controle de servidor.(Herdado de Control.)

System_CAPS_protpropertyIdSeparator

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Obtém o caractere usado para separar os identificadores de controle.(Herdado de Control.)

System_CAPS_protpropertyIsChildControlStateCleared

Obtém um valor que indica se os controles contidos dentro deste controle têm estado do controle.(Herdado de Control.)

System_CAPS_protpropertyIsTrackingViewState

Obtém um valor que indica se o controle de servidor está salvando as alterações em seu estado de exibição.(Herdado de Control.)

System_CAPS_protpropertyIsViewStateEnabled

Obtém um valor que indica se o estado de exibição está habilitado para este controle.(Herdado de Control.)

System_CAPS_protpropertyLoadViewStateByID

Obtém um valor que indica se o controle participa de carregar seu estado de exibição por ID em vez de índice.(Herdado de Control.)

System_CAPS_pubpropertyNamingContainer

Obtém uma referência ao controle de servidor do contêiner de nomeação, que cria um namespace exclusivo para diferenciar entre os controles de servidor com o mesmo Control.ID valor da propriedade.(Herdado de Control.)

System_CAPS_pubpropertyPage

Obtém uma referência para a Page instância que contém o controle de servidor.(Herdado de Control.)

System_CAPS_pubpropertyParent

Obtém uma referência ao controle do pai do controle de servidor na hierarquia de controle da página.(Herdado de Control.)

System_CAPS_pubpropertyRenderingCompatibility

Obtém um valor que especifica a versão do ASP.NET que renderizado HTML será compatível com.(Herdado de Control.)

System_CAPS_pubpropertySite

Obtém informações sobre o contêiner que hospeda o controle atual quando renderizados em uma superfície de design.(Herdado de Control.)

System_CAPS_pubpropertySkinID

Obtém ou define a capa para aplicar o HierarchicalDataSourceControl controle.(Substitui o Control.SkinID.)

System_CAPS_pubpropertyTemplateControl

Obtém ou define uma referência para o modelo que contém este controle.(Herdado de Control.)

System_CAPS_pubpropertyTemplateSourceDirectory

Obtém o diretório virtual da Page ou UserControl que contém o controle de servidor atual.(Herdado de Control.)

System_CAPS_pubpropertyUniqueID

Obtém o identificador exclusivo e hierarquicamente qualificado para o controle de servidor.(Herdado de Control.)

System_CAPS_pubpropertyValidateRequestMode

Obtém ou define um valor que indica se o controle verifica a entrada do cliente do navegador para valores potencialmente perigosos.(Herdado de Control.)

System_CAPS_protpropertyViewState

Obtém um dicionário de informações de estado que permite você salvar e restaurar o estado de exibição de um controle de servidor nas várias solicitações para a mesma página. (Herdado de Control.)

System_CAPS_protpropertyViewStateIgnoresCase

Obtém um valor que indica se o StateBag objeto diferencia maiusculas de minúsculas.(Herdado de Control.)

System_CAPS_pubpropertyViewStateMode

Obtém ou define o modo de estado de exibição deste controle.(Herdado de Control.)

System_CAPS_pubpropertyVisible

Obtém ou define um valor que indica se o controle é exibido visualmente.(Substitui o Control.Visible.)

NomeDescrição
System_CAPS_protmethodAddedControl(Control, Int32)

Chamado depois que um controle filho é adicionado para o Controls coleção do Control objeto.(Herdado de Control.)

System_CAPS_protmethodAddParsedSubObject(Object)

Notifica o controle de servidor que um elemento XML ou HTML é analisado e adiciona o elemento para o controle de servidor ControlCollection objeto.(Herdado de Control.)

System_CAPS_pubmethodApplyStyleSheetSkin(Page)

Aplica-se as propriedades de estilo que são definidas na folha de estilos de página para o controle.(Substitui o Control.ApplyStyleSheetSkin(Page).)

System_CAPS_protmethodBeginRenderTracing(TextWriter, Object)

Começa o rastreamento de tempo de design de dados de renderização.(Herdado de Control.)

System_CAPS_protmethodBuildProfileTree(String, Boolean)

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Reúne informações sobre o controle de servidor e enviá-lo para o Trace propriedade a ser exibida quando o rastreamento está habilitado para a página.(Herdado de Control.)

System_CAPS_protmethodClearCachedClientID()

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Define o cache ClientID valor null.(Herdado de Control.)

System_CAPS_protmethodClearChildControlState()

Exclui as informações de estado de controle para os controles filho do controle de servidor.(Herdado de Control.)

System_CAPS_protmethodClearChildState()

Exclui as informações de estado de exibição e estado de controle para controles filho de todo o controle de servidor.(Herdado de Control.)

System_CAPS_protmethodClearChildViewState()

Exclui as informações de estado de exibição para controles filho de todo o controle de servidor.(Herdado de Control.)

System_CAPS_protmethodClearEffectiveClientIDMode()

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Conjuntos de ClientIDMode propriedade da instância atual do controle e de todos os controles filho para Inherit.(Herdado de Control.)

System_CAPS_protmethodCreateChildControls()

Chamado pela estrutura da página ASP.NET para notificar os controles de servidor que usam implementação baseada em composição para criar os controles filho que eles contêm em preparação para postagem ou processamento. (Herdado de Control.)

System_CAPS_protmethodCreateControlCollection()

Cria um novo ControlCollection objeto para manter os controles filho (literal e servidor) do controle do servidor.(Substitui o Control.CreateControlCollection().)

System_CAPS_pubmethodDataBind()

Associa uma fonte de dados ao controle de servidor chamado e a todos os seus controles filho.(Herdado de Control.)

System_CAPS_protmethodDataBind(Boolean)

Associa uma fonte de dados para o controle de servidor chamado e todos os seus controles filho com uma opção para gerar o DataBinding evento.(Herdado de Control.)

System_CAPS_protmethodDataBindChildren()

Associa uma fonte de dados para os controles filho do controle de servidor.(Herdado de Control.)

System_CAPS_pubmethodDispose()

Permite que um controle de servidor executar final Limpar antes do lançamento da memória.(Herdado de Control.)

System_CAPS_protmethodEndRenderTracing(TextWriter, Object)

Termina o rastreamento em tempo de design de dados de renderização.(Herdado de Control.)

System_CAPS_protmethodEnsureChildControls()

Determina se o controle de servidor contém controles filho. Se não estiver, ele cria filho controles.(Herdado de Control.)

System_CAPS_protmethodEnsureID()

Cria um identificador para controles que não têm um identificador atribuído.(Herdado de Control.)

System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)

System_CAPS_pubmethodFindControl(String)

Procura o contêiner de nomeação atual para um controle de servidor com especificado id parâmetro.(Substitui o Control.FindControl(String).)

System_CAPS_protmethodFindControl(String, Int32)

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Procura o contêiner de nomeação atual para um controle de servidor com especificado id e um inteiro especificado no pathOffset parâmetro, que auxilia na pesquisa. Você não deve substituir esta versão do FindControl método.(Herdado de Control.)

System_CAPS_pubmethodFocus()

Define o foco para o controle de entrada.(Substitui o Control.Focus().)

System_CAPS_protmethodGetDesignModeState()

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Obtém dados de tempo de design para um controle.(Herdado de Control.)

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_protmethodGetHierarchicalView(String)

Obtém o objeto auxiliar de exibição para o IHierarchicalDataSource interface para o caminho especificado.

System_CAPS_pubmethodGetRouteUrl(Object)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.(Herdado de Control.)

System_CAPS_pubmethodGetRouteUrl(RouteValueDictionary)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.(Herdado de Control.)

System_CAPS_pubmethodGetRouteUrl(String, Object)

Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota.(Herdado de Control.)

System_CAPS_pubmethodGetRouteUrl(String, RouteValueDictionary)

Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota.(Herdado de Control.)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_pubmethodGetUniqueIDRelativeTo(Control)

Retorna a parte de prefixo do UniqueID propriedade do controle especificado.(Herdado de Control.)

System_CAPS_pubmethodHasControls()

Determina se o controle de servidor contém todos os controles filho.(Substitui o Control.HasControls().)

System_CAPS_protmethodHasEvents()

Retorna um valor que indica se os eventos são registrados para o controle ou os controles filho.(Herdado de Control.)

System_CAPS_protmethodIsLiteralContent()

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Determina se o controle de servidor contém apenas o conteúdo literal.(Herdado de Control.)

System_CAPS_protmethodLoadControlState(Object)

Restaura informações de estado de controle de uma solicitação de página anterior que foi salvo pelo SaveControlState método.(Herdado de Control.)

System_CAPS_protmethodLoadViewState(Object)

Restaura informações de estado de exibição de uma solicitação de página anterior que foi salvo pelo SaveViewState método.(Herdado de Control.)

System_CAPS_protmethodMapPathSecure(String)

Recupera o caminho físico que é mapeado para um caminho virtual, relativo ou absoluto.(Herdado de Control.)

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do Object atual.(Herdado de Object.)

System_CAPS_protmethodOnBubbleEvent(Object, EventArgs)

Determina se o evento para o controle de servidor é passado a hierarquia de controle de servidor da página da interface do usuário.(Herdado de Control.)

System_CAPS_protmethodOnDataBinding(EventArgs)

Aciona o evento DataBinding.(Herdado de Control.)

System_CAPS_protmethodOnDataSourceChanged(EventArgs)

Gera o DataSourceChanged evento.

System_CAPS_protmethodOnInit(EventArgs)

Aciona o evento Init.(Herdado de Control.)

System_CAPS_protmethodOnLoad(EventArgs)

Aciona o evento Load.(Herdado de Control.)

System_CAPS_protmethodOnPreRender(EventArgs)

Aciona o evento PreRender.(Herdado de Control.)

System_CAPS_protmethodOnUnload(EventArgs)

Aciona o evento Unload.(Herdado de Control.)

System_CAPS_protmethodOpenFile(String)

Obtém um Stream usada para ler um arquivo.(Herdado de Control.)

System_CAPS_protmethodRaiseBubbleEvent(Object, EventArgs)

Atribui quaisquer fontes de evento e suas informações para o pai do controle.(Herdado de Control.)

System_CAPS_protmethodRemovedControl(Control)

Chamado após a remoção de um controle filho a Controls coleção do Control objeto.(Herdado de Control.)

System_CAPS_protmethodRender(HtmlTextWriter)

Envia o conteúdo do controle de servidor a um fornecido HtmlTextWriter objeto, que grava o conteúdo a ser processado no cliente.(Herdado de Control.)

System_CAPS_protmethodRenderChildren(HtmlTextWriter)

Gera o conteúdo de filhos de um controle de servidor a um fornecido HtmlTextWriter objeto, que grava o conteúdo a ser processado no cliente.(Herdado de Control.)

System_CAPS_pubmethodRenderControl(HtmlTextWriter)

Gera o conteúdo do controle de servidor a um fornecido HtmlTextWriter de objeto e armazena informações de rastreamento sobre o controle se o rastreamento está habilitado.(Substitui o Control.RenderControl(HtmlTextWriter).)

System_CAPS_protmethodRenderControl(HtmlTextWriter, ControlAdapter)

Gera o conteúdo do controle de servidor a um fornecido HtmlTextWriter objeto usando um fornecido ControlAdapter objeto.(Herdado de Control.)

System_CAPS_protmethodResolveAdapter()

Obtém o adaptador de controle responsável por processar o controle especificado.(Herdado de Control.)

System_CAPS_pubmethodResolveClientUrl(String)

Obtém uma URL que pode ser usada pelo navegador.(Herdado de Control.)

System_CAPS_pubmethodResolveUrl(String)

Converte uma URL em uma que possa ser usada no cliente solicitante.(Herdado de Control.)

System_CAPS_protmethodSaveControlState()

Salva alterações de estado que ocorreram desde a hora em que a página foi lançada para o servidor de qualquer controle de servidor.(Herdado de Control.)

System_CAPS_protmethodSaveViewState()

Salva quaisquer alterações no viewstate de um controle de servidor que ocorreram apos o último postback da página.(Herdado de Control.)

System_CAPS_protmethodSetDesignModeState(IDictionary)

Define os dados de tempo de design para um controle.(Herdado de Control.)

System_CAPS_pubmethodSetRenderMethodDelegate(RenderMethod)

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Atribui um delegado do manipulador de eventos para processar o controle de servidor e seu conteúdo em seu controle pai.(Herdado de Control.)

System_CAPS_pubmethodSetTraceData(Object, Object)

Conjuntos de dados de rastreamento de dados de renderização, usando a chave de dados de rastreamento e o valor de dados de rastreamento de tempo de design de rastreamento.(Herdado de Control.)

System_CAPS_pubmethodSetTraceData(Object, Object, Object)

Conjuntos de dados de rastreamento de dados de renderização, usando o objeto rastreado, a chave de dados de rastreamento e o valor de dados de rastreamento de tempo de design de rastreamento.(Herdado de Control.)

System_CAPS_pubmethodToString()

Retorna uma string que representa o objeto atual.(Herdado de Object.)

System_CAPS_protmethodTrackViewState()

Faz com que o rastreamento de alterações de estado de exibição para o controle de servidor para que eles podem ser armazenados no controle de servidor StateBag objeto. Esse objeto é acessível por meio de Control.ViewState propriedade.(Herdado de Control.)

NomeDescrição
System_CAPS_pubeventDataBinding

Ocorre quando o server control vincula a uma fonte de dados.(Herdado de Control.)

System_CAPS_pubeventDisposed

Ocorre quando um server control é liberado da memória, que é a última etapa do ciclo de vida do server contorl quando uma página ASP.NET é solicitada.(Herdado de Control.)

System_CAPS_pubeventInit

Ocorre quando o server control é inicializado, que é o primeiro passo em seu ciclo de vida.(Herdado de Control.)

System_CAPS_pubeventLoad

Ocorre quando o controle de servidor é carregado no objeto Page.(Herdado de Control.)

System_CAPS_pubeventPreRender

Ocorre depois que o objeto Control é carregado, mas antes da renderização.(Herdado de Control.)

System_CAPS_pubeventUnload

Ocorre quando o server control é descarregado da memória.(Herdado de Control.)

NomeDescrição
System_CAPS_pubinterfaceSystem_CAPS_priveventIHierarchicalDataSource.DataSourceChanged

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Ocorre quando o HierarchicalDataSourceControl foi alterado de alguma forma que afeta os controles ligados a dados.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIControlDesignerAccessor.GetDesignModeState()

Para obter uma descrição desse membro, consulte IControlDesignerAccessor.GetDesignModeState.(Herdado de Control.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIControlDesignerAccessor.SetDesignModeState(IDictionary)

Para obter uma descrição desse membro, consulte IControlDesignerAccessor.SetDesignModeState.(Herdado de Control.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIControlDesignerAccessor.SetOwnerControl(Control)

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Para obter uma descrição desse membro, consulte IControlDesignerAccessor.SetOwnerControl.(Herdado de Control.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIHierarchicalDataSource.GetHierarchicalView(String)

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Obtém o objeto auxiliar de exibição para o IHierarchicalDataSource interface para o caminho especificado.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIParserAccessor.AddParsedSubObject(Object)

Para obter uma descrição desse membro, consulte IParserAccessor.AddParsedSubObject.(Herdado de Control.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIControlBuilderAccessor.ControlBuilder

Para obter uma descrição desse membro, consulte IControlBuilderAccessor.ControlBuilder.(Herdado de Control.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIControlDesignerAccessor.UserData

Para obter uma descrição desse membro, consulte IControlDesignerAccessor.UserData.(Herdado de Control.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIDataBindingsAccessor.DataBindings

Para obter uma descrição desse membro, consulte IDataBindingsAccessor.DataBindings.(Herdado de Control.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIDataBindingsAccessor.HasDataBindings

Para obter uma descrição desse membro, consulte IDataBindingsAccessor.HasDataBindings.(Herdado de Control.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIExpressionsAccessor.Expressions

Para obter uma descrição desse membro, consulte IExpressionsAccessor.Expressions.(Herdado de Control.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIExpressionsAccessor.HasExpressions

Para obter uma descrição desse membro, consulte IExpressionsAccessor.HasExpressions.(Herdado de Control.)

NomeDescrição
System_CAPS_pubmethodFindDataSourceControl()

Retorna a fonte de dados que está associada com o controle de dados para o controle especificado.(Definido pelo DynamicDataExtensions.)

System_CAPS_pubmethodFindFieldTemplate(String)

Retorna que o modelo de campo para a coluna especificada no controle especificado do contêiner de nomeação.(Definido pelo DynamicDataExtensions.)

System_CAPS_pubmethodFindMetaTable()

Retorna o objeto metatable contendo o controle de dados.(Definido pelo DynamicDataExtensions.)

ASP.NET oferece suporte a uma arquitetura de associação de dados de controles que permite que controles de servidor Web associar a dados e apresentá-lo de forma consistente. Controles de servidor Web que associar a dados são chamados de controles ligados a dados e as classes que facilitam a vinculação são chamadas de controles da fonte de dados. Controles de fonte de dados podem representar qualquer fonte de dados: um arquivo, um fluxo, um banco de dados relacional, um objeto comercial e assim por diante. Fonte de dados controla apresentar dados de uma maneira consistente para controles ligados a dados, independentemente do código-fonte ou o formato dos dados subjacentes.

Controles de fonte de dados que representam dados hierárquicos derivam o HierarchicalDataSourceControl da classe, enquanto os controles de fonte de dados que representam listas ou tabelas de dados derivam o DataSourceControl classe. O HierarchicalDataSourceControl classe é a implementação base a IHierarchicalDataSource interface, que define um único método para recuperar objetos de exibição da fonte de dados hierárquica associados com o controle de fonte de dados, GetHierarchicalView.

Você pode pensar em um controle de fonte de dados como a combinação da HierarchicalDataSourceControl objeto e seus modos de exibição associados aos dados subjacentes, chamados de objetos de exibição de fonte de dados. Embora os controles de fonte de dados que representam dados tabulares são geralmente associados a apenas uma exibição nomeada, a HierarchicalDataSourceControl classe oferece suporte a uma exibição da fonte de dados para cada nível de dados hierárquicos que representa o controle de fonte de dados. O nível de dados hierárquicos é identificado por um caminho hierárquico exclusivo, passado para o GetHierarchicalView método o viewPath parâmetro. Cada HierarchicalDataSourceView objeto define os recursos de um controle de fonte de dados para o nível hierárquico representado e executa operações, como inserção, atualização, exclusão e classificação.

Controles de servidor Web que derivam de HierarchicalDataBoundControl classe, como TreeView, use os controles de fonte de dados hierárquicos para associar a dados hierárquicos.

Controles de fonte de dados são implementados como controles para habilitar a persistência declarativa e, opcionalmente, permitir a participação no gerenciamento de estado. Controles de fonte de dados não têm nenhum processamento visual e, portanto, não dão suporte a temas.

O exemplo de código a seguir demonstra como estender o resumo HierarchicalDataSourceControl classe e o HierarchicalDataSourceView de classe e implementar a IHierarchicalEnumerable e IHierarchyData controle que recupera informações do sistema de arquivos de origem de interfaces para criar um dados hierárquicos. O FileSystemDataSource controle permite que os controles de servidor Web vincular a FileSystemInfo objetos e exibir informações do sistema de arquivo básico. O FileSystemDataSource classe no exemplo fornece a implementação do GetHierarchicalView método, que recupera uma FileSystemDataSourceView objeto. O FileSystemDataSourceView objeto recupera os dados do armazenamento de dados subjacente, nesse caso, as informações do sistema de arquivos no servidor Web. Para fins de segurança, informações do sistema de arquivos serão exibidas somente se o controle da fonte de dados está sendo usado em um host local, autenticado cenário e só começa com o diretório virtual que a página de Web Forms usando o controle de fonte de dados reside no. Por fim, duas classes que implementam IHierarchicalEnumerable e IHierarchyData são fornecidos para encapsular o FileSystemInfo objetos que FileSystemDataSource usa.

using System;
using System.Collections;
using System.IO;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public class FileSystemDataSource :
    HierarchicalDataSourceControl, IHierarchicalDataSource
{
    private FileSystemDataSourceView view = null;

    public FileSystemDataSource() : base() { }

    protected override HierarchicalDataSourceView
        GetHierarchicalView(string viewPath)
    {
        view = new FileSystemDataSourceView(viewPath);
        return view;
    }
}
public class FileSystemDataSourceView : HierarchicalDataSourceView
{
    private string _viewPath;

    public FileSystemDataSourceView(string viewPath)
    {
        HttpRequest currentRequest = HttpContext.Current.Request;
        if (viewPath == "")
        {
            _viewPath = currentRequest.MapPath(currentRequest.ApplicationPath);
        }
        else
        {
            _viewPath = Path.Combine(
                currentRequest.MapPath(currentRequest.ApplicationPath),
                viewPath);
        }
    }

    // Starting with the rootNode, recursively build a list of
    // FileSystemInfo nodes, create FileSystemHierarchyData
    // objects, add them all to the FileSystemHierarchicalEnumerable,
    // and return the list.
    public override IHierarchicalEnumerable Select()
    {
        HttpRequest currentRequest = HttpContext.Current.Request;

        // SECURITY: There are many security issues that can be raised
        // SECURITY: by exposing the file system structure of a Web server
        // SECURITY: to an anonymous user in a limited trust scenario such as
        // SECURITY: a Web page served on an intranet or the Internet.
        // SECURITY: For this reason, the FileSystemDataSource only
        // SECURITY: shows data when the HttpRequest is received
        // SECURITY: from a local Web server. In addition, the data source
        // SECURITY: does not display data to anonymous users.
        if (currentRequest.IsAuthenticated &&
            (currentRequest.UserHostAddress == "127.0.0.1" ||
             currentRequest.UserHostAddress == "::1"))
        {
            DirectoryInfo rootDirectory = new DirectoryInfo(_viewPath);
            if (!rootDirectory.Exists)
            {
                return null;
            }

            FileSystemHierarchicalEnumerable fshe =
                new FileSystemHierarchicalEnumerable();

            foreach (FileSystemInfo fsi
                in rootDirectory.GetFileSystemInfos())
            {
                fshe.Add(new FileSystemHierarchyData(fsi));
            }
            return fshe;
        }
        else
        {
            throw new NotSupportedException(
                "The FileSystemDataSource only " +
                "presents data in an authenticated, localhost context.");
        }
    }
}
// A collection of FileSystemHierarchyData objects
public class FileSystemHierarchicalEnumerable :
    ArrayList, IHierarchicalEnumerable
{
    public FileSystemHierarchicalEnumerable()
        : base()
    {
    }

    public IHierarchyData GetHierarchyData(object enumeratedItem)
    {
        return enumeratedItem as IHierarchyData;
    }
}

public class FileSystemHierarchyData : IHierarchyData
{
    private FileSystemInfo fileSystemObject = null;

    public FileSystemHierarchyData(FileSystemInfo obj)
    {
        fileSystemObject = obj;
    }

    public override string ToString()
    {
        return fileSystemObject.Name;
    }
    // IHierarchyData implementation.
    public bool HasChildren
    {
        get
        {
            if (typeof(DirectoryInfo) == fileSystemObject.GetType())
            {
                DirectoryInfo temp = (DirectoryInfo)fileSystemObject;
                return (temp.GetFileSystemInfos().Length > 0);
            }
            else return false;
        }
    }
    // DirectoryInfo returns the OriginalPath, while FileInfo returns
    // a fully qualified path.
    public string Path
    {
        get
        {
            return fileSystemObject.ToString();
        }
    }
    public object Item
    {
        get
        {
            return fileSystemObject;
        }
    }
    public string Type
    {
        get
        {
            return "FileSystemData";
        }
    }
    public IHierarchicalEnumerable GetChildren()
    {
        FileSystemHierarchicalEnumerable children =
            new FileSystemHierarchicalEnumerable();

        if (typeof(DirectoryInfo) == fileSystemObject.GetType())
        {
            DirectoryInfo temp = (DirectoryInfo)fileSystemObject;
            foreach (FileSystemInfo fsi in temp.GetFileSystemInfos())
            {
                children.Add(new FileSystemHierarchyData(fsi));
            }
        }
        return children;
    }

    public IHierarchyData GetParent()
    {
        FileSystemHierarchicalEnumerable parentContainer =
            new FileSystemHierarchicalEnumerable();

        if (typeof(DirectoryInfo) == fileSystemObject.GetType())
        {
            DirectoryInfo temp = (DirectoryInfo)fileSystemObject;
            return new FileSystemHierarchyData(temp.Parent);
        }
        else if (typeof(FileInfo) == fileSystemObject.GetType())
        {
            FileInfo temp = (FileInfo)fileSystemObject;
            return new FileSystemHierarchyData(temp.Directory);
        }
        // If FileSystemObj is any other kind of FileSystemInfo, ignore it.
        return null;
    }
}

O exemplo de código a seguir demonstra como associar declarativamente um TreeView controle de dados do sistema de arquivos usando o FileSystemDataSource exemplo.

<%@ Page Language="C#" %>
<%@ Register Tagprefix="aspSample" Namespace="Samples.AspNet" %>

<!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>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <asp:treeview
                id="TreeView1"
                runat="server"
                datasourceid="FileSystemDataSource1" />            

            <aspSample:filesystemdatasource
                id = "FileSystemDataSource1"
                runat = "server" />            

        </form>
    </body>
</html>

.NET Framework
Disponível desde 2.0

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: