asp.net - 如何将 ASP.NET FormView 绑定(bind)到单个记录?

标签 asp.net data-binding

ASP.NET FormView 控件的全部目的是一次显示一条记录。那么如何将它绑定(bind)到单个记录?它提示说

Data source is an invalid type. It must be either an IListSource, IEnumerable, or IDataSource.



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

如果我按书阅读并将 FormView 绑定(bind)到返回记录列表的数据源,它实际上会检索所有记录并仅显示所选记录吗?

这是我最终在实用程序类中实现的内容:
public static IEnumerable<T> WrapInEnumerable<T>(T item)
{
    return new T[] {item};
}

最佳答案

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

如果您有一个未实现上述接口(interface)之一的对象 av 类型 A,那么您可以按照您的说法将您的对象包装在一个列表中:

C#

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

VB.NET
Dim myDataSource As List(Of A)(myObject)

关于asp.net - 如何将 ASP.NET FormView 绑定(bind)到单个记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1119822/

相关文章:

c# - ASP.NET MVC 大型项目架构

asp.net - Mono.Security.Protocol.Tls.TlsException 从 Mono 下的 MVC 流中接收到 0 个字节

c# - 找不到网络优化 css 包 (404)

asp.net - 无法加载文件或程序集 'Oracle.ManagedDataAccessDTC.DLL' 或其依赖项之一

c# - 当通过网络接收的数据更改属性时,如何将控件绑定(bind)到属性更改?

wpf - ListBox TwoWay 绑定(bind)到 SelectedItem

apache-flex - Flex 中的某些 [Bindable] 属性有效,有些则无效

mysql - ASP.NET SQL 查询未返回预期结果

java - 根据 boolean 值 JavaFX 更改标签

c# - 来自列表的 WPF Listview 数据绑定(bind)