I DataControls consentono di recuperare un Template da un file esterno, permettendo di centralizzare la definizione di un template da condividere in più parti dell'applicazione.
<SCRIPT RUNAT="SERVER" LANGUAGE="C#"> void Page_Load() { rp.ItemTemplate = Page.LoadTemplate("repeater.ascx"); rp.DataSource = ds; rp.DataBind(); } </SCRIPT><asp:repeater id="rp" runat="server" />
Il template è un semplice control, l'unica accortezza è quella di convertire il container in RepeaterItem nel caso di un Repeater, DataListItem nel caso di un DataList e DataGridItem nel caso di un DataGrid, perchè sia possibile accedere dal control al DataSource.
Nel file repeater.ascx andremo ad inserire:
<%@Control%> <a href="<%#DataBinder.Eval(((RepeaterItem)Container).DataItem, "link") %>"> <%#DataBinder.Eval(((RepeaterItem)Container).DataItem, "testo") %></a>
Ovviamente questa tecnica può essere sfruttata per tutti i Template dei controlli, come ad esempio AlternatingItemTemplate o HeaderTemplate, per rendere più consistente il look della propria applicazione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.