방법: 템플릿 기반 컨트롤에서 데이터에 바인딩
업데이트: 2007년 11월
FormView, DataList, Repeater 및 ListView 웹 서버 컨트롤은 템플릿을 사용하여 데이터를 표시하고 데이터 삽입, 업데이트 또는 삭제를 수행할 사용자 입력을 검색합니다. 또한 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>
각 웹 서버 컨트롤은 여러 템플릿을 지원합니다. 예를 들어 Repeater 컨트롤은 대체 컨트롤, 스타일 및 태그를 사용하여 데이터를 표시할 수 있도록 ItemTemplate과 AlternatingItemTemplate을 지원합니다. 웹 서버 컨트롤 및 지원되는 템플릿에 대한 자세한 내용은 ASP.NET 데이터 바인딩 웹 서버 컨트롤 개요를 참조하십시오.
참고 항목
작업
방법: SqlDataSource 컨트롤을 사용하여 ODBC 데이터베이스에 연결(Visual Studio)