DataTable转换为List<Model>的通用类(绑定Repeater智能提示)
2015-09-21 14:08
543 查看
http://www.cnblogs.com/fishtreeyu/archive/2011/03/11/1981068.html把查询结果以DataTable返回很方便,但是在检索数据时又很麻烦,没有模型类型检索方便。所以很多人都是按照以下方式做的:// 获得查询结果DataTable dt = DbHelper.ExecuteDataTable(...);// 把DataTable转换为IList<UserInfo>IList<UserInfo> users = ConvertToUserInfo(dt);问题:如果此系统有几十上百个模型,那不是每个模型中都要写个把DataTable转换为此模型的方法吗?解决:能不能写个通用类,可以把DataTable转换为任何模型,呵呵,这就需要利用反射和泛型了
使用方式:// 获得查询结果DataTable dt = DbHelper.ExecuteDataTable(...);// 把DataTable转换为IList<UserInfo>IList<UserInfo> users = ModelConvertHelper<UserInfo>.ConvertToModel(dt);Repeater绑定泛型List<T>比绑定DataTable效率更高,而且绑定List<T>可以实现智能感应提示:这里举例在Repeater中绑定泛型List<T>的用法:用<%#((Type)Container.DataItem).成员 %>可实现智能感应提示,而且比<%# Eval("成员")%>效率更高!后台.cs代码:
前台.aspx代码:
相关文章推荐
- linux内核驱动中对字符串的操作【转】
- mysql数据库研究系列-1
- 将虚拟机网络共享给主机
- CentOS PHP - PDO 支持 MYSQL 和 ODBC
- 用Jersey构建RESTful服务5--Jersey+MySQL5.6+Hibernate4.3
- svn is already locked解决方案
- mysql优化(精辟)
- OCP-V13-696
- linux 常用命令之查看进程信息
- DOM Ready。window.onload。
- 参数被修饰成final,意味着该参数不能在方法体中被修改,一旦修改了方法体中的final参数,程序将无法通过编译。
- 解决CocoaPods在OS X 10.11出现问题
- Maven学习总结(六)——Maven与Eclipse整合
- 编程练习1——字符串操作(字符串压缩)
- 【Android】开源项目汇总-备用 各种图形的绘制,各种效果
- CDH4 CM启动NameNode失败的问题,请求超时
- Android学习笔记:Android异步任务之AsyncTask基础
- 一排cell就第一个cell要点两次才响应,其他的cell都点一下就响应
- Android之给gridview的单元格加上分割线
- 每天一个linux命令(5):rm 命令