4

我需要以标准 ASP.net 控件都不支持的方式在我的页面上显示信息。为了做到这一点,我创建了自己的控件,并且不得不重现 ASP.Net 表单控件的一些功能——特别是它们绑定到许多不同数据源的能力。

根据文档,控件可以绑定到任何支持 IEnumerable、ICollection 或 IListSource 接口的数据源。现在我知道您可以将控件直接绑定到 SQLDataReader,但我无法确定该类符合哪个接口允许它工作。IIRC 它实现了 iEnumerable 但用于枚举列,而不是行。

我希望我自己的对象能够使用这些数据源,并且我有办法做到这一点(使用反射来动态访问属性等),但是由于 .Net 框架已经这样做了,我希望有一个对象已经是框架的一部分,无需我自己动手。问题:

1) SQLDataReader 满足哪些条件才能将其用作 ASP.Net 控件的数据源?2) 是否有一个类可以逐行迭代允许的 ASP.Net 数据源,避免我自己滚动?

4

1 回答 1

1

我不知道这是否完全回答了您的问题,但您可以使用 DbDataRecord 类迭代 SqlDataReader(在这种情况下,IEnumerable 迭代行)例如(VB.NET):

For Each rec As Data.Common.DbDataRecord In MyReader
   'access fields by rec(ordinal) or rec(FieldName)
Next
于 2013-09-19T13:44:23.567 回答