The whole purpose of the ASP.NET FormView control is to display a single record at a time. So how do I bind it to a single record? It complains that
Data source is an invalid type. It must be either an IListSource, IEnumerable, or IDataSource.
I can wrap my object in a list if that's the only solution. In this application, the FormView is inside a user control and I'm retrieving the object in a public method, i.e. I'm not using a data source control. I'm not doing any 2-way data binding here either, I'm only using the FormView in this case to maintain a consistent look.
If I went by the book and bound a FormView to a data source that returned a list of records, would it actually retrieve all the records and just display only the selected record?
Here's what I ended up implementing in a utility class:
public static IEnumerable<T> WrapInEnumerable<T>(T item)
{
return new T[] {item};
}