asp.net repeater itemdatabound

¿Cómo acceder a los campos de fuente de datos en un evento Item.DataBound de Repetidores ASP.NET?



repeater itemdatabound (3)

Dependiendo del DataSource ... Si su DataSource es un DataTable, entonces su DataItem contiene un DataRowView:

protected void rptMyReteater_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Button b = e.Item.FindControl("myButton") as Button; DataRowView drv = e.Item.DataItem as DataRowView; b.CommandArgument = drv.Row["ID_COLUMN_NAME"].ToString(); } }

Tengo un control de Repetidor que está vinculado al resultado de una consulta Linq.

Quiero obtener el valor de uno de los campos de la fuente de datos en el evento ItemDataBound, pero no estoy seguro de cómo hacerlo.


Los datos que se utilizan para el elemento actual se pueden encontrar en EventArgs.

RepeaterItemEventArgs e e.Item.DataItem


Puede utilizar: e.Item.DataItem .

Ejemplo: Evento Repeater.ItemDataBound

// This event is raised for the header, the footer, separators, and items. void R1_ItemDataBound(Object Sender, RepeaterItemEventArgs e) { // Execute the following logic for Items and Alternating Items. if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { if (((Evaluation)e.Item.DataItem).Rating == "Good") { ((Label)e.Item.FindControl("RatingLabel")).Text= "<b>***Good***</b>"; } } }