본문 바로가기
Skills/Asp.net

ASP.NET 데이터 바인딩 문법

by Hoseok 2023. 8. 29.
728x90
반응형


ASP.NET Web Forms에서 데이터 바인딩은 데이터를 웹 페이지의 UI 컨트롤에 연결하는 작업을 의미한다.

 

데이터 바인딩을 통해 데이터베이스, 컬렉션, 객체 등의 데이터를 웹 페이지에 동적으로 표시하거나 사용자 입력과 연결할 수 있다.

단방향 데이터 바인딩

Eval()

 

데이터 바인딩 표현식으로 데이터 원본의 필드 값을 가져온다.

 

<asp:Label ID="Label1" runat="server" Text='<%# Eval("FieldName") %>'></asp:Label>


Bind()

 

양방향 데이터 바인딩을 위해 사용되며, 보통 데이터 소스의 필드 값을 컨트롤에 바인딩할 때 사용된다.

<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("FieldName") %>'></asp:TextBox>

 

<% ... %>: 서버 측 코드 블록. 서버 측 코드는 웹 페이지가 서버에서 처리될 때 실행된다.


%#: 데이터 바인딩 표현식의 시작.


바인딩 컨트롤

GridView

 

데이터를 그리드 형태로 표시하고 편집할 수 있는 컨트롤.

<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1"></asp:GridView>


ListView

 

데이터를 목록 형태로 표시하고 편집할 수 있는 컨트롤.

<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1">
    <ItemTemplate>
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("FieldName") %>'></asp:Label>
    </ItemTemplate>
</asp:ListView>


Repeater

 

데이터를 반복해서 표시하고 템플릿화된 UI를 사용자 정의할 수 있는 컨트롤.

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
    <ItemTemplate>
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("FieldName") %>'></asp:Label>
    </ItemTemplate>
</asp:Repeater>


데이터 소스 컨트롤

SqlDataSource

 

SQL 데이터베이스와 연결하여 데이터를 가져오고 업데이트할 수 있는 컨트롤.

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
    SelectCommand="SELECT * FROM TableName"></asp:SqlDataSource>


기타 데이터 소스 컨트롤로는 ObjectDataSource, XmlDataSource, EntityDataSource 등이 있다.

이벤트 기반 데이터 바인딩

코드 비하인드(C# 또는 VB.NET)에서 데이터를 가져와 컨트롤에 동적으로 바인딩할 수 있다.

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // 데이터 가져오기
        List<Item> itemList = GetItemsFromDatabase();

        // 데이터 바인딩
        GridView1.DataSource = itemList;
        GridView1.DataBind();
    }
}

 

728x90
반응형