IQueryable<T>绑定到Repeater,执行Repeater_ItemDataBound事件时,遇到的问题及解决办法

来源:互联网 发布:淘宝客服kpi考核 编辑:程序博客网 时间:2024/05/20 18:03

最近几天一直在学习Linq,Repeater的数据源从DataTable/DataSet换成了IQueryable<T>,结果Repeater_ItemDataBound事件中的代码无法通过,错误:无法将类型为“T”的对象强制转换为类型“System.Data.DataRowView”。在我的程序中 T 为“SolutionSearchResult”。

报错语句为:DataRowView dv = ((DataRowView)e.Item.DataItem);

 

解决方法如下 :

 

原来的代码:

修改之后的代码:

对于其他数据源控件,如:GridView、DataList等,以上解决方法仍然有效。

对于数据源为IList<T> 类型的,以上解决方法仍然有效。

原创粉丝点击