Ti faccio un semplice esempio. Nel mio caso ho un datasource che prende i dati degli impiegati da NorthWind (che non sto a metterti).
OnItemDataBound="Repeater1_ItemDataBound": devi gestire l'evento ItemDataBound che viene lanciato per ogni "riga/record" che sta per essere "fatchato"
e.Item: è il controllo di tipo RepeaterItem, che espone sia i dati, sia tutti i controlli della singola riga del repeater
e.Item.DataItem: è il dato che identifica la singola riga; nel mio caso essendo i dati presi da un datatable, ogni riga è una DataRowView e relativa Row (ma potrebbe essere una classe nel caso Data Entity)
<asp:Repeater ID="Repeater1" runat="server"
DataSourceID="ObjectDataSource1"
OnItemDataBound="Repeater1_ItemDataBound">
<ItemTemplate>
<p>
<%# string.Concat(Eval("LastName"), " ", Eval("FirstName"))%><br />
<asp:Image ID="imgImpiegato" runat="server" Visible="false" />
</p>
</ItemTemplate>
</asp:Repeater>
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
DataRow impiegato = ((DataRowView)e.Item.DataItem).Row as DataRow;
if (impiegato["PhotoPath"] != null && !string.IsNullOrEmpty(impiegato["PhotoPath"].ToString()))
{
Image img = e.Item.FindControl("imgImpiegato") as Image;
if (img != null)
{
img.ImageUrl = impiegato["PhotoPath"].ToString();
img.Visible = true;
}
}
}
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.