Sdílet prostřednictvím


Datenbindung für ein List-Steuerelement oder ein SelectionList-Steuerelement

Aktualisiert: November 2007

Das List-ASP.NET Mobile-Steuerelement und das SelectionList-ASP.NET Mobile-Steuerelement geben eine Basisansicht von Daten wieder und ermöglichen es Benutzern, Datenelemente auszuwählen.

Sie können ein mobiles List-Steuerelement oder ein mobiles SelectionListSteuerelement an ein DataView-Objekt oder an ein DataSet-Objekt bzw. an jedes Objekt binden, das IEnumerable oder IListSource implementiert. Um ein mobiles List-Steuerelement oder ein mobiles SelectionList-Steuerelement an ein DataView-Objekt zu binden, legen Sie die DataSource-Eigenschaft des Steuerelements fest und rufen dessen DataBind-Methode auf. Das folgende Codebeispiel zeigt, wie ein Steuerelement an ein DataSet-Objekt gebunden wird, das die Tabelle Titles enthält.

myList.DataSource = ds.Tables["Titles"].DefaultView;
myList.DataBind();

Alternativ können Sie ein List-Steuerelement oder ein SelectionList-Steuerelement an ein DataSet-Objekt binden. Legen Sie dazu die DataMember-Eigenschaft auf den Namen der Tabelle fest. Das folgende Beispiel entspricht dem vorhergehenden.

myList.DataSource = ds;
myList.DataMember = "Titles";
myList.DataBind();

Ein Listenelement in einem List-Steuerelement oder einem SelectionList-Steuerelement kann an zwei Datenwerte gebunden werden. Ein Datenwert wird an die Text-Eigenschaft des Listenelements gebunden, der andere Datenwert wird an die Value-Eigenschaft gebunden. Sie konfigurieren die Bindung für Listenelemente, indem Sie die DataTextField-Eigenschaft (SelectionList.DataTextField) und die DataValueField-Eigenschaft (SelectionList.DataValueField) des List-Steuerelements oder des SelectionList-Steuerelements festlegen. Das List-Steuerelement zeigt jedes Element mithilfe der Text-Eigenschaft an. Wenn Sie beispielsweise jedes Element anhand der CustomerName-Eigenschaft anzeigen möchten, legen Sie die DataTextField-Eigenschaft auf CustomerName fest.

Sie möchten jedes Element als Zusammenfassung anzeigen, die aus mehreren Datenwerten besteht. Um dies zu erreichen, können Sie das ItemDataBind-Ereignis des List-Steuerelements oder das ItemDataBind-Ereignis des SelectionList-Steuerelements behandeln und die Text-Eigenschaft programmgesteuert festlegen. Das folgende Codebeispiel zeigt, wie Buchinformationen als Kombination aus Titel und Preis wiedergegeben werden.

private void List_OnItemDataBind(object sender, 
    ListDataBindEventArgs e)
{
    e.ListItem.Text = String.Format ("{0} – {1}", 
        DataBinder.Eval (e.DataItem, "title"),
        DataBinder.Eval (e.DataItem, "price", "{0:C}"));
}

Für Geräte, die eine umfassendere Wiedergabe unterstützen, können Sie für das List-Steuerelement einen Vorlagensatz verwenden, um eine angepasste Ansicht eines Datenelements anzuzeigen. Im Vorlagenmodus funktioniert das List-Steuerelement wie das Repeater-ASP.NET-Serversteuerelement. Sie können z. B. mit folgender Elementvorlage eine detaillierte Ansicht eines Buches anzeigen.

<ItemTemplate>
  <tr style="background-color:FFECD8">
    <td>
      <%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
        "title") %>
    </td>
    <td>
      <%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
        "title_id") %>
    </td>
    <td>
      <%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
        "type") %>
    </td>
    <td>
      <%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
        "pub_id") %>
    </td>
    <td>
      <%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
        "price", "{0}", "{0:C}") %>
    </td>
  </tr>
</ ItemTemplate >

Weitere Informationen über Vorlagensätze finden Sie unter Vorlagensätze und Steuerelemente mit Vorlagen.

Siehe auch

Konzepte

Zugreifen auf Daten mit Auflistungssteuerelementen

Unterschiede zwischen der SelectionList-Klasse und der List-Klasse