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

posted @ 2013-11-26 11:31  架构师聊技术  阅读(2044)  评论(0编辑  收藏  举报