Я пытаюсь связать набор, реализовывая ICollection, интерфейс IEnumerable и IList к повторителю asp.net. Набор называют CustomCollection. Таким образом, я устанавливаю источник данных повторителя к набору, следующим образом:
rptRepeater.DataSource = customCollection;
rptRepeater.Databind();
Затем на событии ItemDataBound я пытаюсь получить доступ к объекту DataItem, следующим образом:
void rptRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e){
object obj = e.Item.DataItem; // DataItem is null for some reason
}
По некоторым причинам e. Объект. Объект DataItem является несуществующим. Кто-либо знает, почему это, и/или что я мог сделать для овладения объектом в наборе, который должен быть связан с данными к повторителю?
Спасибо!
В обработчике событий ItemDataBound
вам необходимо убедиться, что он не пытается выполнить привязку к шаблону верхнего или нижнего колонтитула:
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
object obj = e.Item.DataItem;
}