25 Stimmen

Wie binde ich eine ASP.NET FormView an einen einzelnen Datensatz?

Der ganze Zweck des ASP.NET FormView-Steuerelements besteht darin, jeweils einen einzelnen Datensatz anzuzeigen. Wie kann ich es also an einen einzelnen Datensatz binden? Es beschwert sich, dass

Die Datenquelle ist ein ungültiger Typ. Es muss entweder eine IListSource, IEnumerable oder IDataSource sein.

Ich kann mein Objekt in eine Liste einpacken, wenn das die einzige Lösung ist. In dieser Anwendung befindet sich die FormView in einem Benutzersteuerelement und ich rufe das Objekt in einer öffentlichen Methode ab, d. h. ich verwende kein Datenquellensteuerelement. Ich mache hier auch keine 2-Wege-Datenbindung, ich verwende die FormView in diesem Fall nur, um ein einheitliches Aussehen zu erhalten.

Wenn ich nach Vorschrift vorgehe und eine FormView an eine Datenquelle binde, die eine Liste von Datensätzen zurückgibt, würde sie dann tatsächlich alle Datensätze abrufen und nur den ausgewählten Datensatz anzeigen?

Das habe ich schließlich in einer Utility-Klasse implementiert:

public static IEnumerable<T> WrapInEnumerable<T>(T item)
{
    return new T[] {item};
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X