Condividi tramite


Procedura dettagliata: visualizzazione gerarchica dei dati in un controllo TreeView

Aggiornamento: novembre 2007

Il controllo ASP.NET TreeView è progettato per visualizzare i dati in una struttura gerarchica. L'utente può aprire singoli nodi che a loro volta contengono nodi figlio. Il controllo TreeView è indicato per la visualizzazione di dati XML, ma può essere utilizzato per tutti i dati rappresentabili in una gerarchia. In questa procedura dettagliata viene illustrato l'utilizzo di base del controllo TreeView e vari metodi di visualizzazione di dati gerarchici.

Di seguito sono elencate le attività illustrate nella procedura dettagliata:

  • Utilizzo del controllo TreeView per visualizzare dati XML.

  • Personalizzazione della visualizzazione del controllo TreeView.

  • Visualizzazione dei record delle tabelle di database correlate nel controllo TreeView.

Prerequisiti

Per completare questa procedura dettagliata è necessario:

  • Microsoft Visual Web Developer (Visual Studio).

  • Microsoft Data Access Components (MDAC) 2.7 o versione successiva.

    Se si utilizza Microsoft Windows XP o Windows Server 2003, si dispone già di MDAC 2.7. Tuttavia, se si utilizza Microsoft Windows 2000, può essere necessario aggiornare la versione di MDAC già installata nel computer. Per ulteriori informazioni, vedere l'argomento "Microsoft Data Access Components (MDAC) Installation" in MSDN Library.

  • Accesso a un computer in cui è installato Microsoft SQL Server con il database Northwind di esempio.

  • Nome utente e password per un account SQL Server che dispone dell'accesso al database Northwind, se il database di SQL Server non si trova nello stesso computer del server Web.

Creazione del sito Web

Creare un sito e una pagina Web nuovi mediante la procedura indicata di seguito.

Per creare un sito Web di file system

  1. Aprire Visual Web Developer.

  2. Scegliere Nuovo dal menu File, quindi fare clic su Sito Web. Se si utilizza Visual Web Developer Express scegliere NuovoSito Web dal menu File.

    Viene visualizzata la finestra di dialogo Nuovo sito Web.

  3. In Modelli Visual Studio installati fare clic su Sito Web ASP.NET.

  4. Nella casella Percorso, selezionare File system e immettere il nome della cartella in cui salvare le pagine del sito Web.

    Ad esempio, digitare il nome della cartella C:\WebSites\HierarchicalData.

  5. Nell'elenco Linguaggio scegliere il linguaggio di programmazione con lui lavorare.

  6. Scegliere OK.

    In Visual Web Developer vengono create la cartella e una nuova pagina denominata Default.aspx.

Creazione di un file XML per dati

Creare un nuovo sito XML attenendosi alla seguente procedura.

Per creare il file XML

  1. In Esplora soluzioni, fare clic con il pulsante destro del mouse sul sito Web e scegliere Aggiungi nuovo elemento.

  2. Nella finestra di dialogo Aggiungi nuovo elemento, in StandardModelli scegliere File XML.

  3. Nella casella Nome, digitare Bookstore.xml, e scegliere Aggiungi.

    In Visual Web Developer viene creato il nuovo file Bookstore.xml e viene aperto l'editor di codice.

  4. Copiare i dati XML riportati di seguito e incollarli nel file Bookstore.xml sovrascrivendo il contenuto già presente nel file.

    <?xml version="1.0" standalone="yes"?>
    <bookstore>
      <genre name="fiction">
        <book ISBN="10-000000-001">
          <title>The Iliad and The Odyssey</title>
          <price>12.95</price>
          <comments>
            <userComment rating="4">
               Best translation I've read.
            </userComment>
            <userComment rating="2">
               I like other versions better.
            </userComment>
          </comments>
        </book>
        <book ISBN="10-000000-999">
          <title>Anthology of World Literature</title>
          <price>24.95</price>
          <comments>
            <userComment rating="3">
              Needs more modern literature.
            </userComment>
            <userComment rating="4">
              Excellent overview of world literature.
            </userComment>
          </comments>
        </book>
      </genre>
      <genre name="nonfiction">
        <book ISBN="11-000000-002">
          <title>Computer Dictionary</title>
          <price>24.95</price>
          <comments>
            <userComment rating="3">A valuable resource.</userComment>
          </comments>
        </book>
        <book ISBN="11-000000-003">
          <title>Cooking on a Budget</title>
          <price>23.95</price>
          <comments>
            <userComment rating="4">Delicious!</userComment>
          </comments>
        </book>
      </genre>
    </bookstore>
    

    Nel file XML sono contenute informazioni relative ai libri disponibili in una libreria in linea.

  5. Salvare il file Bookstore.xml e chiuderlo.

Visualizzazione dei dati XML nel controllo TreeView

In questa sezione, il controllo TreeView sarà utilizzato per visualizzare i dati XML. Per iniziare, è possibile visualizzare le informazioni XML senza configurazioni particolari.

Per visualizzare i dati XML

  1. Aprire la pagina Default.aspx e passare alla visualizzazione Progettazione.

  2. Dal gruppo Esplorazione della Casella degli strumenti trascinare un controllo TreeView nella pagina.

  3. Fare clic con il pulsante destro del mouse sul controllo TreeView e scegliere Mostra smart tag.

  4. Dal menu Attività TreeView, nell'elenco a discesa Scegli origine dati, selezionare Nuova origine dati. Viene visualizzata la Configurazione guidata origine dati.

  5. Nella finestra Specificare il percorso dei dati per l'applicazione, selezionare File XML. Lasciare l'ID predefinito per l'origine dati. Scegliere OK.

  6. Nella finestra di dialogo Configura origine dati, nella casella File di dati, immettere ~/Bookstore.xml, quindi scegliere OK.

È ora possibile eseguire il test della pagina.

Per eseguire il test della pagina

  1. Premere CTRL+F5 per eseguire la pagina.

  2. Comprimere ed espandere i nodi nel controllo.

    Per impostazione predefinita, nei nodi sono visualizzati soltanto i nomi dei tag degli elementi del file Bookstore.xml.

È possibile personalizzare le informazioni visualizzate nel controllo TreeView creando associazioni personalizzate che consentono di specificare le informazioni del file XML da visualizzare per ciascun nodo.

Per creare associazioni personalizzate

  1. Nella pagina Default.aspx, fare clic con il pulsante destro del mouse sul controllo TreeView e scegliere Mostra smart tag.

  2. Dal menu Attività TreeView scegliere Modifica Databindings di TreeNode.

    Viene visualizzata la finestra di dialogo Editor dei DataBindings di TreeView .

  3. Deselezionare la casella di controllo Auto generate data bindings dal momento che le associazioni dati saranno definite dall'utente.

  4. Fare clic su Aggiungi per creare una nuova associazione, quindi in Proprietà associazione dati, impostare DataMember su bookstore e impostare Text su Book Information.

    La configurazione dell'associazione consente di visualizzare un valore statico, dal momento che il nodo Bookstore è il nodo in di primo livello nel file xml e viene visualizzato soltanto una volta nel controllo TreeView.

  5. Fare clic su Aggiungi per creare un'altra associazione, quindi in Proprietà associazione dati, impostare DataMember su genre e TextField su name.

    Viene specificato che il nodo effettuerà la lettura dell'elemento <genre> nel file xml e assegnerà il relativo attributo name alla proprietà TextField.

  6. Fare clic su Aggiungi per creare una terza associazione, quindi in Proprietà associazione dati, impostare DataMember su book e TextField su ISBN.

  7. Scegliere OK.

È ora possibile eseguire il test della pagina.

Per eseguire il test della pagina

  • Premere CTRL+F5 per eseguire la pagina.

    In questo caso, il controllo TreeView consente di visualizzare i tre livelli corrispondenti alle associazioni definite. I tre livelli costituiscono il nodo principale, a cui è assegnata l'etichetta Book Information, i gruppi genre e i dettagli ISBN.

È possibile creare un'associazione dati per ogni elemento in un file XML, ma è possibile eseguire l'associazione soltanto agli attributi dell'elemento, al testo interno, al nome dell'elemento oppure al valore dell'elemento. Non è possibile eseguire l'associazione a nessuno degli elementi nidificati. Per visualizzare i valori negli elementi nidificati, è necessario creare associazioni separate per tali elementi. Un metodo alternativo consiste nel trasformare il file XML utilizzando XSLT in modo che gli elementi interni siano convertiti in attributi. Per ulteriori informazioni e un esempio, vedere la proprietà XmlDataSource.TransformFile.

Visualizzazione dei dati relazionali nel controllo TreeView

Nel controllo TreeView è possibile visualizzare tutti i tipi di dati gerarchici, persino in caso di una gerarchia di dati logica, ad esempio un database, e non fisica, ad esempio un file XML. In questa sezione, sarà utilizzato il controllo TreeView per la visualizzazione di dati di tabelle correlate del database Northwind.

Per iniziare, verrà creata una connessione al computer sul quale è in esecuzione SQL Server in cui si trova il database Northwind.

Per creare una connessione a SQL Server

  1. In Esplora server fare clic con il pulsante destro del mouse sul nodo Connessioni dati e scegliere Aggiungi connessione. Se si utilizza Visual Web Developer Express, utilizzare Esplora database.

    Viene visualizzata la finestra di dialogo Aggiungi connessione.

    • Se nell'elenco Origine dati non è visualizzato Microsoft SQL Server (SqlClient), fare clic su Cambia e nella finestra di dialogo Modifica origine dati selezionare Microsoft SQL Server.

    • Se viene visualizzata la pagina Scegli origine dati, selezionare il tipo di origine dati da utilizzare nell'elenco Origine dati. Per questa procedura dettagliata il tipo di origine dati è Microsoft SQL Server. Nell'elenco Provider di dati, fare clic su Provider di dati .NET Framework per SQL Server, quindi fare clic su Continua.

    Nota:

    Se la scheda Esplora server non è visibile in Visual Web Developer, scegliere Esplora server dal menu Visualizza. Se la scheda Esplora database non è visibile, scegliere Esplora database dal menu Visualizza.

  2. Nella casella Aggiungi connessione, immettere il nome del server in uso in Nome server.

  3. Per la sezione Accesso al server, selezionare l'opzione appropriata per accedere al database di SQL Server in esecuzione (protezione integrata oppure password e ID specifici) e, se richiesto, immettere un nome utente e una password.

  4. Selezionare la casella di controllo Salva password.

    Nota:

    Nelle applicazioni di produzione, non utilizzare Salva password dal momento che incorpora il nome utente e la password nei file di applicazione.

  5. Immettere Northwind in Seleziona o immetti nome di database.

  6. Fare clic su Test connessione e, dopo avere verificato il funzionamento della connessione, scegliere OK.

    La nuova connessione è stata creata in Connessioni dati all'interno di Esplora server (o Esplora database).

Configurazione di un controllo TreeView per visualizzare i dati del database

In questa sezione, sarà eseguita la compilazione dinamica dei nodi con i dati. I nodi del primo livello rappresenteranno i dati master, in questo caso le categorie. Quando l'utente fa clic su un nodo, vengono creati i nodi figlio per la categoria mediante una query al database che consente di recuperare i prodotti relativi a quella categoria. Per recuperare i dati, è possibile utilizzare un controllo origine dati. Tuttavia, in questa procedura dettagliata, verrà creata ed eseguita una query a livello di codice.

Per iniziare, creare una nuova pagina e un nuovo controllo TreeView.

Per creare la nuova pagina e il controllo TreeView

  1. Aggiungere una pagina Web ASP.NET (pagina Web Form) denominata TreeViewDynamic.aspx al sito Web.

  2. Aprire la pagina ViewDynamic.aspx, passare alla visualizzazione Progettazione, quindi in Toolbox, dal gruppo Standard, trascinare un controllo Label nella pagina e denominarlo labelStatus.

    Il controllo labelStatus è utilizzato soltanto per la registrazione di errori.

  3. Dal gruppo Esplorazione della Casella degli strumenti trascinare un controllo TreeView nella pagina.

  4. Fare clic con il pulsante destro del mouse sul controllo TreeView, scegliere Proprietà e impostare MaxDataBindDepth su 2.

  5. Fare clic con il pulsante destro del mouse sul controllo TreeView, scegliere Mostra smart tag, quindi dal menu Attività TreeView fare clic su Modifica nodi.

  6. Nella finestra di dialogo Editor dei nodi di TreeView, fare clic sull'icona con l'etichetta Aggiungi nodo principale, quindi, in Proprietà, impostare Text su Product List e PopulateOnDemand su true.

  7. Scegliere OK.

    Tale procedura rappresenta la creazione del nodo di primo livello della struttura, in cui è contenuto soltanto un testo statico.

Per configurare il file Web.config

  1. Dal gruppo Dati della Casella degli strumenti trascinare un controllo SqlDataSource nella pagina.

  2. Selezionare il controllo SqlDataSource e fare clic su Mostra smart tag.

  3. Dal menu Attività SqlDataSource, scegliere Configura origine dati.

    Nella procedura guidata Configura origine dati - SqlDataSource1 viene visualizzata una pagina in cui è possibile scegliere una connessione.

  4. Nella casella Specificare la connessione dati che deve essere utilizzata dall'applicazione per connettersi al database, immettere la connessione creata nella sezione "Per creare una connessione a SQL Server" e scegliere Avanti.

    Nella procedura guidata viene visualizzata una pagina in cui è possibile scegliere di memorizzare la stringa di connessione in un file di configurazione. La memorizzazione della stringa di connessione nel file di configurazione comporta due vantaggi:

    • Maggiore sicurezza rispetto alla memorizzazione nella pagina.

    • Possibilità di utilizzare la stessa stringa di connessione in più pagine.

  5. Selezionare la casella di controllo Sì, salva la connessione con nome, quindi scegliere Avanti.

    Nella procedura guidata viene visualizzata una pagina in cui è possibile specificare i dati da recuperare dal database.

  6. Selezionare Categories nell'elenco a discesa Nome della casella Specificare le colonne di una tabella o vista.

  7. In Colonne, selezionare la caselle CategoryID e CategoryName.

  8. Fare clic su Avanti.

  9. Fare clic su Fine.

    La stringa di connessione creata nel file Web.config sarà utilizzata successivamente nel metodo RunQuery che verrà definito più avanti nella procedura dettagliata. Il controllo SqlDataSource non sarà utilizzato.

È ora possibile aggiungere il codice per compilare i nodi figlio del controllo quando l'utente seleziona il nodo. Per aggiungere i nodi in modo dinamico, è necessario creare un gestore eventi per l'evento TreeNodePopulate.

Per creare il gestore eventi

  1. Fare clic con il pulsante destro del mouse sul controllo TreeView, quindi in Proprietà fare clic sull'icona Eventi.

  2. Fare doppio clic sulla casella per l'evento TreeNodePopulate.

    Visual Web Developer passa alla visualizzazione Origine.

  3. Aggiungere il seguente codice evidenziato al gestore.

    Protected Sub TreeView1_TreeNodePopulate(ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) _
    Handles TreeView1.TreeNodePopulate
        If e.Node.ChildNodes.Count = 0 Then
            Select Case e.Node.Depth
                Case 0
                    PopulateCategories(e.Node)
                Case 1
                    PopulateProducts(e.Node)
            End Select
        End If
    End Sub
    
    protected void TreeView1_TreeNodePopulate(
        object sender, TreeNodeEventArgs e)
    {
        if (e.Node.ChildNodes.Count == 0)
        {
            switch (e.Node.Depth)
            {
                case 0:
                    PopulateCategories(e.Node);
                    break;
                case 1:
                    PopulateProducts(e.Node);
                    break;
            }
        }
    }
    

    Questo codice viene chiamato quando l'utente fa clic su un nodo per aprirlo. Dal momento che si desidera visualizzare dati differenti a diversi livelli della struttura, è necessario determinare la profondità del nodo selezionato e quindi procedere in modo appropriato alla compilazione dei nodi a quel livello. In questa procedura dettagliata, il metodo PopulateCategories viene chiamato se l'utente fa clic sul nodo principale (profondità 0). Il metodo PopulateProducts viene chiamato se si fa clic su un nome di categoria (profondità 1). I metodi sono visualizzati nella sezione successiva.

    L'oggetto TreeNodeEventArgs fornisce l'accesso a livello di codice al nodo corrente. Per compilare il nodo, aggiungere elementi. Nell'esempio di codice, il codice viene passato al metodo con cui si aggiungeranno i nodi figlio.

Lettura dei dati del nodo dal database

Le informazioni da visualizzare in ciascun nodo provengono dal database. È necessario scrivere il codice con cui eseguire la query di database, leggere i record e creare un nodo per ciascun record. In questa procedura dettagliata, si presuppone l'utilizzo del database di esempio Northwind di SQL Server, pertanto è necessario utilizzare oggetti ADO.NET dello spazio dei nomi System.Data.SqlClient.

Per il primo livello di nodi (livello 0), verrà visualizzato un elenco di tutte le categorie disponibili. Il codice creato esegue la chiamata al metodo RunQuery che sarà creato più avanti nella procedura dettagliata.

Per aggiungere nodi per tutte le categorie.

  1. Passare alla visualizzazione Origine.

  2. In caso di utilizzo di una pagina a file singolo, aggiungere le direttive riportate di seguito nella parte superiore della pagina di codice.

    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
    

    L'importazione di spazi di nomi semplifica la scrittura del codice necessario.

  3. In caso di utilizzo di una pagina di codice sottostante, passare alla pagina di codice sottostante (TreeViewDynamic.aspx.vb oppure TreeViewDynamic.aspx.cs) e aggiungere le righe riportate di seguito nella parte superiore del file di codice, all'esterno della dichiarazione di classe.

    Imports System.Data
    Imports System.Data.SqlClient
    
    using System.Data;
    using System.Data.SqlClient;
    
  4. Accertarsi che la pagina sia ancora in visualizzazione Origine.

  5. Aggiungere il metodo riportato di seguito alla pagina di codice.

    Sub PopulateCategories(ByVal node As TreeNode)
        Dim sqlQuery As New SqlCommand( _
            "Select CategoryName, CategoryID From Categories")
        Dim ResultSet As DataSet
        ResultSet = RunQuery(sqlQuery)
        If ResultSet.Tables.Count > 0 Then
            Dim row As DataRow
            For Each row In ResultSet.Tables(0).Rows
                Dim NewNode As TreeNode = New _
                    TreeNode(row("CategoryName").ToString(), _
                    row("CategoryID").ToString())
                NewNode.PopulateOnDemand = True
                NewNode.SelectAction = TreeNodeSelectAction.Expand
                node.ChildNodes.Add(NewNode)
            Next
        End If
    End Sub
    
    void PopulateCategories(TreeNode node)
    {
        SqlCommand sqlQuery = new SqlCommand(
            "Select CategoryName, CategoryID From Categories");
        DataSet resultSet;
        resultSet = RunQuery(sqlQuery);
        if (resultSet.Tables.Count > 0)
        {
            foreach (DataRow row in resultSet.Tables[0].Rows)
            {
                TreeNode NewNode = new
                    TreeNode(row["CategoryName"].ToString(),
                    row["CategoryID"].ToString());
                NewNode.PopulateOnDemand = true;
                NewNode.SelectAction = TreeNodeSelectAction.Expand;
                node.ChildNodes.Add(NewNode);
            }
        }
    }
    

    Il codice consente di creare un oggetto SqlCommand in cui viene incapsulato il testo della query. L'oggetto viene passato a un metodo (che sarà scritto) che esegue la query di database e restituisce un oggetto DataSet. Successivamente, il codice consente di scorrere i record dell'oggetto DataSet e di creare un nuovo nodo per ciascun record, impostando il testo e il valore del nodo con le informazioni di database. A questo punto, mediante il codice è possibile impostare la proprietà PopulateOnDemand di ciascun nodo su true in modo che il nodo generi il relativo evento TreeNodePopulate nel momento in cui viene selezionato. La proprietà SelectAction viene impostata in modo che i nodi siano espansi per impostazione predefinita.

Nel secondo livello di nodi, saranno visualizzati i prodotti per ciascuna categoria. Di conseguenza, per la compilazione dei nodi dei prodotti è richiesta una query con parametri per consentire il recupero dei prodotti della categoria corrente e la compilazione dei nodi figlio in modo appropriato.

Per aggiungere nodi per i prodotti

  • Aggiungere il metodo riportato di seguito alla pagina di codice.

    Sub PopulateProducts(ByVal node As TreeNode)
        Dim sqlQuery As New SqlCommand
        sqlQuery.CommandText = "Select ProductName From Products " & _
            " Where CategoryID = @categoryid"
        sqlQuery.Parameters.Add("@categoryid", SqlDbType.Int).Value = _
            node.Value
        Dim ResultSet As DataSet = RunQuery(sqlQuery)
        If ResultSet.Tables.Count > 0 Then
            Dim row As DataRow
            For Each row In ResultSet.Tables(0).Rows
                Dim NewNode As TreeNode = New _
                    TreeNode(row("ProductName").ToString())
                NewNode.PopulateOnDemand = False
                NewNode.SelectAction = TreeNodeSelectAction.None
                node.ChildNodes.Add(NewNode)
            Next
        End If
    End Sub
    
    void PopulateProducts(TreeNode node)
    {
        SqlCommand sqlQuery = new SqlCommand();
        sqlQuery.CommandText = "Select ProductName From Products " +
            " Where CategoryID = @categoryid";
        sqlQuery.Parameters.Add("@categoryid", SqlDbType.Int).Value =
            node.Value;
        DataSet ResultSet = RunQuery(sqlQuery);
        if (ResultSet.Tables.Count > 0)
        {
            foreach (DataRow row in ResultSet.Tables[0].Rows)
            {
                TreeNode NewNode = new
                    TreeNode(row["ProductName"].ToString());
                NewNode.PopulateOnDemand = false;
                NewNode.SelectAction = TreeNodeSelectAction.None;
                node.ChildNodes.Add(NewNode);
            }
        }
    }
    

    Questo codice è simile al codice utilizzato per la compilazione dei nodi delle categorie. Una differenza consiste nel fatto che l'oggetto SqlCommand viene configurato con un parametro impostato in fase di esecuzione con il valore del nodo selezionato dall'utente, vale a dire la categoria selezionata. Un'altra differenza consiste nel fatto che la proprietà PopulateOnDemand è impostata su false. Di conseguenza, i nodi dei prodotti vengono visualizzati senza il pulsante di espansione, necessario in quanto non esistono altri nodi al di sotto dei prodotti.

Nel passaggio finale, viene creato il metodo che consente di eseguire la query e di restituire il dataset.

Per eseguire la query

  • Aggiungere alla pagina il metodo riportato di seguito.

    Function RunQuery(ByVal sqlQuery As SqlCommand) As DataSet
        Dim connectionString As String
        connectionString = _
            ConfigurationManager.ConnectionStrings _
            ("NorthwindConnectionString").ConnectionString
        Dim dbConnection As New SqlConnection
        dbConnection.ConnectionString = connectionString
        Dim dbAdapter As New SqlDataAdapter
        dbAdapter.SelectCommand = sqlQuery
        sqlQuery.Connection = dbConnection
        Dim resultsDataSet As DataSet = New DataSet
        Try
            dbAdapter.Fill(resultsDataSet)
        Catch ex As Exception
            labelStatus.Text = "Unable to connect to SQL Server."
        End Try
        Return resultsDataSet
    End Function
    
    private DataSet RunQuery(SqlCommand sqlQuery)
    {
        string connectionString =
            ConfigurationManager.ConnectionStrings
            ["NorthwindConnectionString"].ConnectionString;
        SqlConnection DBConnection =
            new SqlConnection(connectionString);
        SqlDataAdapter dbAdapter = new SqlDataAdapter();
        dbAdapter.SelectCommand = sqlQuery;
        sqlQuery.Connection = DBConnection;
        DataSet resultsDataSet = new DataSet();
        try
        {
            dbAdapter.Fill(resultsDataSet);
        }
        catch
        {
            labelStatus.Text = "Unable to connect to SQL Server.";
        }
        return resultsDataSet;
    }
    

    Questo codice consente di creare un adattatore dati basato sull'oggetto SqlCommand passato al codice stesso. Quindi, consente di creare e compilare un dataset con l'adattatore.

È ora possibile eseguire il test della pagina.

Per eseguire il test della pagina

  1. Premere CTRL+F5 per eseguire la pagina.

    Il controllo TreeView viene visualizzato con un elenco di categorie e di prodotti.

  2. Fare clic su una categoria per confermarne la compressione e l'espansione allo scopo di mostrare un elenco di prodotti per ciascuna categoria.

Passaggi successivi

In questa procedura dettagliata sono stati utilizzati dati XML gerarchici e un database relazionale per la compilazione di un controllo TreeView. Mediante il controllo TreeView è possibile utilizzare le informazioni di spostamento nel sito e i dati XML come dati tabulari (elenco).

Vedere anche

Attività

Procedura dettagliata: creazione di una pagina Web per visualizzare dati XML

Altre risorse

Procedura: proteggere le stringhe di connessione durante l'utilizzo dei controlli origine dati