C# 在Repeater 的ItemDataBound 如何转换e.Item.DataItem 的类型

1、使用DataSet和DataTable绑定数据源时,用

DataRowView view = (DataRowView)e.Item.DataItem;

2、DataReader绑定数据源时,用

System.Data.Common.DbDataRecord view = (System.Data.Common.DbDataRecord)e.Item.DataItem;

3、使用泛型做数据源时,则是泛型对应的类型,例如List<AttachFile> 为数据源,则

AttachFile view = (AttachFile )e.Item.DataItem;

4、当数据源是DataReader时(存储过程分页就是DataReader)

      System.Data.Common.DbDataRecord view = (System.Data.Common.DbDataRecord)e.Item.DataItem;

其实要把e.Item.DataItem转换成什么类型需要看控件绑定的数据源,DataItem就是数据项,我的理解就是数据源的数据项,但是是object类型的

其次在Repeater用此种绑定时,不能出现<HeaderTemplate> 和<FooterTemplate>,否则e.Item.DataItem始终会是NULL ,以上的所有转换也就无从说起了

原文地址:https://www.cnblogs.com/lzh-boy/p/3442944.html