Una delle novità più significative di ASP.NET 3.5 è rappresentata dal nuovo controllo ListView, che combina la flessibilità del Repeater (e di FormView) alle funzionalità più avanzate di DataList e GridView.
Funziona per mezzo di un sistema basato su un template generale più quelle specifici per le varie situazioni, che consentono di arrivare ai layout più comuni. All'interno di VS 2008 è presente un wizard che è in grado di aiutare nella costruzione dei più diffusi tipo di template.
Così come i controlli GridView, FormView e DetailsView, presenti già nella versione 2.0, anche ListView supporta i DataSource Control, attraverso la proprietà DataSourceID, piuttosto che il DataBinding manuale, impostando la proprietà DataSource e richiamando in maniera esplicita il metodo DataBind().
Ecco un esempio di come poter sfruttare il controllo:
<asp:ListView runat="server" ID="LV" DataSourceID="MySource" > <LayoutTemplate> <ul ID="itemPlaceholderContainer" runat="server"> <li ID="itemPlaceholder" runat="server" /> </ul> <div>Altro contenuto</div> </LayoutTemplate> <ItemTemplate> <li><%#(string)Eval("miocampo")%></li> </ItemTemplate> <EmptyDataTemplate> <p>Non ci sono risultati.</p> </EmptyDataTemplate> </asp:ListView>
Come si può notare, all'interno del template chiamato LayoutTemplate viene definito il layout che assumerà alla fine l'output generato dal controllo, con i due controlli il cui ID viene utilizzato per capire dove posizionare il risultato prodotto dai template specifici.
Nel corso dei prossimi script torneremo ad occuparci di questo controllo con altri approfondimenti, perchè è in grado di supportare anche inserimento, modifica, cancellazione e paginazione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Implementare il throttling in ASP.NET Core
Effettuare il binding di date in Blazor
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Cache policy su route groups di Minimal API in ASP.NET Core 7
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Short-circuiting della Pipeline in ASP.NET Core
Load test di ASP.NET Core con k6
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes