La tecnica migliore per il databinding di controls ASP.NET

di Daniele Bochicchio, in ASP.NET, DataBinding,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

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