我需要以标准 ASP.net 控件都不支持的方式在我的页面上显示信息。为了做到这一点,我创建了自己的控件,并且不得不重现 ASP.Net 表单控件的一些功能——特别是它们绑定到许多不同数据源的能力。
根据文档,控件可以绑定到任何支持 IEnumerable、ICollection 或 IListSource 接口的数据源。现在我知道您可以将控件直接绑定到 SQLDataReader,但我无法确定该类符合哪个接口允许它工作。IIRC 它实现了 iEnumerable 但用于枚举列,而不是行。
我希望我自己的对象能够使用这些数据源,并且我有办法做到这一点(使用反射来动态访问属性等),但是由于 .Net 框架已经这样做了,我希望有一个对象已经是框架的一部分,无需我自己动手。问题:
1) SQLDataReader 满足哪些条件才能将其用作 ASP.Net 控件的数据源?2) 是否有一个类可以逐行迭代允许的 ASP.Net 数据源,避免我自己滚动?