ASP.NET FormView控件的整个目的是一次显示一个记录。那么如何将它绑定到单个记录?它抱怨
Data source is an invalid type. It must be either an IListSource,IEnumerable,or IDataSource.
如果这是唯一的解决方案,我可以包装我的对象在列表中。在这个应用程序中,FormView是在用户控件内部,我在公共方法中检索对象,即我没有使用数据源控件。我也没有做任何双向数据绑定在这里,我只使用FormView在这种情况下保持一致的外观。
如果我走过书并将一个FormView绑定到一个返回记录列表的数据源,它实际上会检索所有记录,只显示所选记录?
这里是我最后在实用程序类中实现:
public static IEnumerable<T> WrapInEnumerable<T>(T item) { return new T[] {item}; }
解决方法
如错误消息所示,DataSource对象必须实现IListSource,IEnumerable或IDataSource工作。
如果你有一个对象av类型A,它不实现一个提到的接口,那么你可以像你说的在一个列表中包装你的对象:
C#
var myDataSource = new List<A> {myObject};
VB.NET
Dim myDataSource As List(Of A)(myObject)