Procedura: eseguire l'associazione dati in un controllo basato su modello
Aggiornamento: novembre 2007
I controlli server Web FormView, DataList, Repeater e ListView utilizzano i modelli per visualizzare i dati e recuperare l'input dell'utente per immettere, aggiornare o eliminare i dati. Inoltre, è possibile utilizzare i modelli con i controlli GridView e DetailsView per personalizzare il layout dei dati.
È possibile associare un controllo basato su modello a un controllo origine dati come, ad esempio, il controllo LinqDataSource, ObjectDataSource o SqlDataSource, impostando la proprietà DataSourceID del controllo basato su modello sull'ID del controllo origine dati. È possibile utilizzare le funzioni Eval e Bind nel modello per associare i dati dall'origine dati. Per ulteriori informazioni, vedere Sintassi delle espressioni di associazione dati.
Per associare un controllo ai dati tramite modelli
Aggiungere alla pagina un controllo origine dati, quale il controllo SqlDataSource, come illustrato nell'esempio riportato di seguito.
<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>
Aggiungere un controllo che supporta modelli, quali il controllo ASP.NET FormView.
Impostare la proprietà DataSourceID del controllo basato su modello sull'ID del controllo origine dati dal Passaggio 1, come illustrato nell'esempio riportato di seguito.
<asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" Runat="server"> </asp:FormView>
Aggiungere i modelli al controllo e compilarli con controlli e codice.
Per visualizzare i dati, utilizzare la funzione Eval come impostazione della proprietà e fare riferimento al campo di associazione dati. Nei modelli utilizzati per immettere o modificare i dati, utilizzare la funzione Bind per fare riferimento al campo di associazione dati, come illustrato nell'esempio riportato di seguito.
<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>
Ogni controllo server Web supporta diversi modelli. Ad esempio, il controllo Repeater supporta ItemTemplate e AlternatingItemTemplate per visualizzare i dati utilizzando controlli, stili e codice alternati. Per informazioni dettagliate sui controlli server Web e sui modelli supportati, vedere Cenni preliminari sui controlli server Web ASP.NET con associazione a dati.