Почему e. Объект. Пустой указатель DataItem на событии ItemDataBound при привязке asp:net Повторителя с Набором?

Я пытаюсь связать набор, реализовывая 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 является несуществующим. Кто-либо знает, почему это, и/или что я мог сделать для овладения объектом в наборе, который должен быть связан с данными к повторителю?

Спасибо!

12
задан Tomas Vinter 12 April 2010 в 10:28
поделиться

1 ответ

В обработчике событий ItemDataBound вам необходимо убедиться, что он не пытается выполнить привязку к шаблону верхнего или нижнего колонтитула:

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
    object obj = e.Item.DataItem;
}
29
ответ дан 2 December 2019 в 05:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: