Uno degli obiettivi primari della versione 2.0 di ASP.NET è stato senz'altro quello di mettere gli sviluppatori nella condizione di creare applicazioni Web più o meno complesse riducendo drasticamente il numero complessivo di linee di codice da scrivere. A tale scopo sono stati introdotti una serie di controlli per il binding dei dati che permettono di evitare di scrivere codice. In questo script, per esempio, le linee di codice scritte sono pari a zero!
Tra i controlli DataBound è stato introdotto il controllo TreeView, che permette di rappresentare un set di dati strutturati gerarchicamente in una vista ad albero. Il TreeView eredita dalla classe astratta HierarchicalDataBoundControl e accetta una sorgente dati che implementa l'interfaccia IHierarchicalDataSource, per esempio una sorgente di tipo XmlDataSource. Tramite la collection DataBindings composta da elementi di tipo TreeNodeBinding è possibile definire la corrispondenza tra i nodi dell'albero e i nodi della sorgente dati. La proprietà MaxDataBindDepth del controllo TreeView permette inoltre di specificare la massima profondità dei nodi che vengono presi in considerazione durante l'operazione di binding. Nell'esempio riportato, dato che MaxDataDindDepth vale 2, vengono aggiunti alla struttura ad albero solo i nodi della sorgente dati Root, Node1 e Node2.
Il controllo TreeView e il relativo controllo DataSource di tipo XmlDataSource:
<asp:TreeView ID="tvwSample" Runat="server" DataSourceId="xmlData" CssClass="..." EnableLines="true" ShowLines="false" ShowLines="true" ShowExpandCollapse="true" ExpandDepth="2" MaxDataBindDepth="2"> <DataBindings> <asp:TreeNodeBinding DataMember="Root" TextField="Title" SelectAction="Expand" /> <asp:TreeNodeBinding DataMember="Node1" TextField="Title" SelectAction="Expand" /> <asp:TreeNodeBinding DataMember="Node2" TextField="Title" NavigateUrlField="Url" SelectAction="Select" /> <asp:TreeNodeBinding DataMember="Node3" TextField="Title" NavigateUrlField="Url" SelectAction="Select" /> </DataBindings> </asp:TreeView> <asp:XmlDataSource ID="xmlData" runat="server" DataFile="~/App_Data/Data.xml" CacheDuration="20"></asp:XmlDataSource>
Ecco la sorgente dati in formato XML:
<?xml version="1.0" encoding="utf-8" ?> <Root Title="Root"> <Node1 Title="1"> <Node2 Title="1.1" Url="11.aspx"> <Node3 Title="1.1.1" Url="111.aspx"></Node3> <Node3 Title="1.1.2" Url="112.aspx"></Node3> </Node2> <Node2 Title="1.2" Url="12.aspx"> <Node3 Title="1.2.1" Url="121.aspx"></Node3> <Node3 Title="1.2.2" Url="122.aspx"></Node3> </Node2> </Node1> </Root>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Eseguire script pre e post esecuzione di un workflow di GitHub
- Creare una libreria CSS universale: Cards
- Migliorare l'organizzazione delle risorse con Azure Policy