ASP.NET 2.0 mette a disposizione dei nuovi controlli, chiamati DataSourceControls, per astrarre l'oggetto che visualizza i dati rispetto alla sorgente da cui questi provengono. Tra questi nuovi controlli c'è l'XmlDataSource che permette il Binding tra un oggetto ed una fonte dati XML. Questo controllo introduce una nuova sintassi XPath per decidere quali campi visualizzare.
Prendiamo ad esempio questo file XML:
<?xml version="1.0" encoding="utf-8" ?> <Root> <ordine> <data>28/11/2005</data> <importo>100.34</importo> <cliente>Pluto</cliente> </ordine> <ordine> <data>29/11/2005</data> <importo>200.34</importo> <cliente>Pippo</cliente> </ordine> <ordine> <data>30/11/2005</data> <importo>300.34</importo> <cliente>Paperino</cliente> </ordine> <ordine> <data>27/11/2005</data> <importo>400.34</importo> <cliente>Paperoga</cliente> </ordine> </Root> Possiamo visualizzare tutti gli ordini in un Repeater scegliendo i campi tramite l'espressione di binding: <%#XPath("NomeCampo")%>
Ecco l'esempio:
<form id="form1" runat="server"> <asp:XmlDataSource ID="DataSource" runat="server" DataFile="App_Data\Source1.xml" XPath="/Root/ordine"></asp:XmlDataSource> <asp:Repeater ID="repeater" runat="server" DataSourceID="DataSource"> <HeaderTemplate> <table> <tr> <td>Data</td> <td>Importo</td> <td>Cliente</td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#XPath("data")%></td> <td><%#XPath("importo")%></td> <td><%#XPath("cliente")%></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </form>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Load test di ASP.NET Core con k6
Implementare il throttling in ASP.NET Core
Short-circuiting della Pipeline in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7