I'm trying to bind a collection implementing the ICollection, IEnumerable and IList interface to an asp.net repeater. The Collection is named CustomCollection. So I'm setting the datasource of the repeater to the collection, as follows:
rptRepeater.DataSource = customCollection;
rptRepeater.Databind();
Then, on the ItemDataBound event, I'm trying to access the DataItem object, as follow:
void rptRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e){
object obj = e.Item.DataItem; // DataItem is null for some reason
}
For some reason the e.Item.DataItem object is null. Do anyone know why this is, and/or what I could do to get hold of the object in the collection that is to be databound to the repeater?
Thanx!
In your ItemDataBound
event handler, you need to check that it is not trying to bind to a header or footer template:
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
object obj = e.Item.DataItem;
}