Il databinding è una caratteristica molto utile di ASP.NET, che permette di creare in maniera rapida e veloce controlli con dati associati.
Spesso si utilizza DataBinder.Eval, che permette di recuperare un determinato valore dal DataItem, che è il contenitore dei dati. Questo approccio anche se molto semplice, non è il migliore dal punto di vista delle performance.
In modo particolare, è possibile convertire in maniera esplicita il DataItem nel corrispondente tipo, in modo da avere un accesso più rapido (e diretto) al suo contenuto.
Per un array, sia per VB.NET che per C#, è sufficiente utilizzare questa sintassi:
<%# Container.DataItem %>
Per un DataView, invece, sarà utilizzato nel caso di VB.NET:
<%#CType(Container.DataItem, DataRowView)("EmployeeName")%>
mentre per C#:
<%#((DataRowView)Container.DataItem)["EmployeeName"].ToString()%>
Basta sostituire DataRowView con IDataRecord nel caso di una DataTable.
Infine per databinding di collection personalizzate, si può tranquillamente convertire esplicitamente nella classe utilizzata.
In VB.NET sarà:
<%#CType(Container.DataItem, Item).Url%>
mentre in C#:
<%#((Item)Container.DataItem).Url %>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Implementare il throttling in ASP.NET Core
Short-circuiting della Pipeline in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Effettuare il binding di date in Blazor
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Load test di ASP.NET Core con k6