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 ,以上的所有转换也就无从说起了