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

时间:2009-07-13 14:36:48

标签: 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};
}

1 个答案:

答案 0 :(得分:18)

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

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

<强> C#

var myDataSource = new List<A> {myObject};

<强> VB.NET

Dim myDataSource As List(Of A)(myObject)