方法 : テンプレート コントロールにデータを連結する
更新 : 2007 年 11 月
FormView、DataList、Repeater、および ListView の各 Web サーバー コントロールは、テンプレートを使用してデータを表示し、データを挿入、更新、または削除するためのユーザー入力を取得します。さらに、GridView コントロールと DetailsView コントロールにテンプレートを使用すると、データのレイアウトをカスタマイズできます。
テンプレート宣言されたコントロールの DataSourceID プロパティをデータ ソース コントロールの ID に設定すると、テンプレート宣言されたコントロールを LinqDataSource コントロール、ObjectDataSource コントロール、SqlDataSource コントロールなどのデータ ソース コントロールに連結できます。次に、テンプレート内の Eval 関数と Bind 関数を使用してデータ ソースのデータを連結できます。詳細については、「データ バインディング式の構文」を参照してください。
テンプレートを使用してコントロールをデータに連結するには
次の例のように、SqlDataSource コントロールなどのデータ ソース コントロールをページに追加します。
<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>
ASP.NET FormView コントロールなどのテンプレートをサポートするコントロールを追加します。
次の例のように、テンプレート宣言されたコントロールの DataSourceID プロパティに、手順 1 で作成したデータ ソース コントロールの ID を設定します。
<asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" Runat="server"> </asp:FormView>
テンプレート宣言されたコントロールにテンプレートを追加し、コントロールとマークアップを指定します。
データを表示するには、プロパティの設定として Eval 関数を使用して連結されたデータ フィールドを参照します。次の例のように、データを挿入または編集するために使用するテンプレートで、Bind 関数を使用してデータ フィールドを参照します。
<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>
各 Web サーバー コントロールがサポートするテンプレートは異なります。たとえば、Repeater コントロールは ItemTemplate と AlternatingItemTemplate をサポートし、交互のコントロール、スタイル、およびマークアップを使用してデータを表示します。Web サーバー コントロールおよびサポートされているテンプレートの詳細については、「ASP.NET のデータ バインド Web サーバー コントロールの概要」を参照してください。
参照
処理手順
方法 : SqlDataSource コントロールを使用して ODBC データベースに接続する (Visual Studio)