如何将ASP.NET FormView绑定到单个记录?

Jam*_*Ide 24 asp.net data-binding

ASP.NET FormView控件的整个目的是一次显示一条记录.那么如何将其绑定到单个记录?它抱怨说

数据源是无效类型.它必须是IListSource,IEnumerable或IDataSource.

如果这是唯一的解决方案,我可以将我的对象包装在列表中.在这个应用程序中,FormView位于用户控件内,我正在公共方法中检索对象,即我没有使用数据源控件.我也没有在这里进行任何双向数据绑定,在这种情况下我只使用FormView来保持一致的外观.

如果我阅读了本书并将FormView绑定到返回记录列表的数据源,它是否会实际检索所有记录并仅显示所选记录?

这是我最终在实用程序类中实现的内容:

public static IEnumerable<T> WrapInEnumerable<T>(T item)
{
    return new T[] {item};
}
Run Code Online (Sandbox Code Playgroud)

San*_*nen 18

正如错误消息所示,DataSource对象必须实现IListSource,IEnumerable或IDataSource才能工作.

如果你有一个没有实现上述接口之一的对象av类型A,那么就像你说的那样将你的对象包装在一个列表中:

C#

var myDataSource = new List<A> {myObject};
Run Code Online (Sandbox Code Playgroud)

VB.NET

Dim myDataSource As List(Of A)(myObject)
Run Code Online (Sandbox Code Playgroud)

  • 同意咆哮.这是stoopid.该控件旨在显示单个项目,您应该能够直接绑定对象. (9认同)
  • 谢谢你的确认.这是一个伪装成问题的咆哮.并不是说它与一个项目有很大的不同,但将它包装在一个数组中可能更有效. (3认同)