代码之家  ›  专栏  ›  技术社区  ›  Jamie Ide

如何将ASP.NET窗体视图绑定到单个记录?

  •  24
  • Jamie Ide  · 技术社区  · 15 年前

    ASP.NET窗体视图控件的全部目的是一次显示一条记录。那么如何将其绑定到单个记录上呢?它抱怨说

    数据源是无效类型。它必须是IListSource、IEnumerable或IDataSource。

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

    如果我通过书籍将FormView绑定到一个返回记录列表的数据源,它会实际检索所有记录并只显示所选记录吗?

    下面是我在实用程序类中实现的内容:

    public static IEnumerable<T> WrapInEnumerable<T>(T item)
    {
        return new T[] {item};
    }
    
    1 回复  |  直到 15 年前
        1
  •  18
  •   Sani Huttunen    15 年前

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

    如果您有一个对象AV类型A,它不实现上述接口之一,那么您可以像您所说的那样将对象包装在一个列表中:

    C.*

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

    VB.NET

    Dim myDataSource As List(Of A)(myObject)