#638 - La tecnica migliore per il databinding di controls ASP.NET

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 %>


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC