Gewusst wie: Binden an Daten in einem vorlagenbasierten Steuerelement
Aktualisiert: November 2007
Die Webserversteuerelemente FormView, DataList, Repeater und ListView verwenden Vorlagen für das Anzeigen von Daten und für das Abrufen von Benutzereingaben, mit denen Daten eingefügt, aktualisiert oder gelöscht werden. Außerdem können Sie bei dem GridView-Steuerelement und dem DetailsView-Steuerelement Vorlagen verwenden, um das Datenlayout anzupassen.
Sie können ein vorlagenbasiertes Steuerelement an ein Datenquellensteuerelement (z. B. das Steuerelement LinqDataSource, ObjectDataSource oder SqlDataSource) binden, indem Sie die DataSourceID-Eigenschaft des vorlagenbasierten Steuerelements auf die ID des Datenquellensteuerelements festlegen. Sie können dann die Eval-Funktion und die Bind-Funktion innerhalb der Vorlage verwenden, um eine Bindung zu Daten aus der Datenquelle herzustellen. Weitere Informationen finden Sie unter Syntax für Datenbindungsausdrücke.
So binden Sie ein Steuerelement mithilfe von Vorlagen an Daten
Fügen Sie der Seite ein Datenquellensteuerelement (z. B. das SqlDataSource-Steuerelement) wie im folgenden Beispiel hinzu:
<asp:SqlDataSource ID="SqlDataSource1" SelectCommand="SELECT * FROM [Products]" ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>" RunAt="server"> </asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource1" SelectCommand="SELECT * FROM [Products]" ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>" RunAt="server"> </asp:SqlDataSource>
Fügen Sie ein Steuerelement hinzu, das Vorlagen unterstützt, z. B. das FormView-Steuerelement von ASP.NET.
Legen Sie die DataSourceID-Eigenschaft des Steuerelements auf die ID des Datenquellensteuerelements aus Schritt 1 fest wie in diesem Beispiel.
<asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" Runat="server"> </asp:FormView>
Fügen Sie dem vorlagenbasierten Steuerelement Vorlagen hinzu, und füllen Sie sie mit Steuerelementen und Markup.
Um Daten anzuzeigen, verwenden Sie die Eval-Funktion als Eigenschafteneinstellung, und verweisen Sie auf das gebundene Datenfeld. Verwenden Sie in Vorlagen zum Einfügen oder Bearbeiten von Daten die Bind-Funktion, um auf das datengebundene Feld zu verweisen, wie das folgende Beispiel zeigt:
<asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" RunAt="server"> <ItemTemplate> <table> <tr><td align="right"><b>Product ID:</b></td> <td><%# Eval("ProductID") %></td></tr> <tr><td align="right"><b>Product Name:</b></td> <td><%# Eval("ProductName") %></td></tr> <tr><td align="right"><b>Category ID:</b></td> <td><%# Eval("CategoryID") %></td></tr> <tr><td align="right"><b>Quantity Per Unit:</b></td><td><%# Eval("QuantityPerUnit") %></td></tr> <tr><td align="right"><b>Unit Price:</b></td> <td><%# Eval("UnitPrice") %></td></tr> </table> </ItemTemplate> </asp:FormView>
<asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" RunAt="server"> <ItemTemplate> <table> <tr><td align="right"><b>Product ID:</b></td> <td><%# Eval("ProductID") %></td></tr> <tr><td align="right"><b>Product Name:</b></td> <td><%# Eval("ProductName") %></td></tr> <tr><td align="right"><b>Category ID:</b></td> <td><%# Eval("CategoryID") %></td></tr> <tr><td align="right"><b>Quantity Per Unit:</b></td><td><%# Eval("QuantityPerUnit") %></td></tr> <tr><td align="right"><b>Unit Price:</b></td> <td><%# Eval("UnitPrice") %></td></tr> </table> </ItemTemplate> </asp:FormView>
Jedes Webserversteuerelement unterstützt andere Vorlagen. Zum Beispiel unterstützt das Repeater-Steuerelement eine ItemTemplate und eine AlternatingItemTemplate, um Daten mit wechselnden Steuerelementen, Formaten und Markup anzuzeigen. Ausführliche Informationen über Webserversteuerelemente und unterstützte Vorlagen finden Sie unter Übersicht über datengebundene ASP.NET-Webserversteuerelemente.