ASP.NET 데이터 바인딩 웹 서버 컨트롤 개요
업데이트: 2007년 11월
데이터 바인딩 웹 서버 컨트롤은 웹 응용 프로그램의 데이터를 쉽게 표시하고 수정할 수 있도록 데이터 소스 컨트롤에 바인딩할 수 있는 컨트롤입니다. 데이터 바인딩 웹 서버 컨트롤은 Label과 TextBox 같은 다른 ASP.NET 웹 컨트롤을 단일 레이아웃으로 결합하는 합성 컨트롤입니다.
예를 들어 데이터 바인딩된 컨트롤(예: DetailsView 컨트롤)을 결과 집합(예: 각 직원의 이름, 주소, 직함 등이 포함된 직원 테이블)에 바인딩할 수 있습니다. DetailsView 컨트롤에서는 이름 또는 주소 필드 같은 단일 데이터 값에 Label 컨트롤을 바인딩하여 페이지의 데이터 레이아웃을 만들 수 있습니다.
데이터 바인딩된 컨트롤을 사용하면 데이터 결과 집합에 컨트롤을 바인딩할 수 있을 뿐만 아니라 템플릿을 사용하여 컨트롤 레이아웃을 사용자 지정할 수 있습니다. 또한 이벤트를 처리하고 취소하는 데 유용한 모델을 제공합니다.
이 항목에서는 ASP.NET에 포함된 데이터 바인딩된 컨트롤 및 데이터 웹 서버 컨트롤을 데이터에 바인딩하는 방법을 설명합니다.
데이터 바인딩 웹 서버 컨트롤을 데이터에 바인딩
데이터 바인딩된 컨트롤을 데이터 소스 컨트롤(예: ObjectDataSource 또는 SqlDataSource 컨트롤)에 바인딩하여 데이터 바인딩된 컨트롤로 작업할 수 있습니다. 데이터 소스 컨트롤은 데이터베이스나 중간 계층 개체와 같은 데이터 소스에 연결한 다음 데이터를 검색하거나 업데이트합니다. 그러면 데이터 바인딩된 컨트롤에서 이 데이터를 사용할 수 있습니다. 바인딩을 수행하려면 데이터 소스 컨트롤을 가리키도록 데이터 바인딩된 컨트롤의 DataSourceID 속성을 설정합니다. 데이터 소스 컨트롤에 바인딩된 데이터 바인딩된 컨트롤은 데이터 소스 컨트롤에서 제공하는 데이터 서비스를 자동으로 사용할 수 있으므로 데이터 작업을 수행하는 데 추가 코드가 거의 필요하지 않습니다.
참고: |
---|
ASP.NET 버전 1.0 및 1.1에서는 DataSource 속성을 사용하여 데이터 바인딩된 컨트롤을 데이터에 바인딩하고 데이터 표시, 페이징, 정렬, 편집 및 삭제와 같은 작업을 처리할 코드를 작성해야 했습니다. DataSource 속성 및 기존 코드를 사용하여 계속해서 컨트롤을 데이터에 바인딩할 수는 있지만 ASP.NET 버전 2.0 이상에서는 DataSourceID 속성을 대신 사용하여 바인딩을 수행할 수 있습니다. |
데이터 소스 컨트롤에 대한 자세한 내용은 데이터 소스 웹 서버 컨트롤을 참조하십시오.
GridView 컨트롤
GridView 컨트롤은 데이터를 테이블로 표시하고 열 정렬, 데이터 페이징, 단일 레코드 편집 또는 삭제 기능을 제공합니다.
참고: |
---|
GridView 컨트롤은 이전 버전의 ASP.NET에 있는 DataGrid 컨트롤 대신 사용됩니다. GridView 컨트롤은 데이터 소스 컨트롤의 기능을 사용할 수 있을 뿐만 아니라 여러 개의 기본 키 필드 정의, 바인딩된 필드와 템플릿을 통한 향상된 사용자 인터페이스 사용자 지정, 이벤트 처리 또는 취소를 위한 새로운 모델 등 향상된 기능을 제공합니다. |
자세한 내용은 GridView 웹 서버 컨트롤 개요 및 GridView 및 DataGrid 웹 서버 컨트롤 비교를 참조하십시오.
DetailsView 컨트롤
DetailsView 컨트롤은 한 번에 하나의 레코드를 테이블로 렌더링하고 레코드 삽입, 업데이트, 삭제 및 여러 레코드 페이징 기능을 제공합니다. DetailsView 컨트롤은 주로 마스터 컨트롤(예: GridView 컨트롤)에서 선택한 레코드에 따라 DetailsView 컨트롤에 표시되는 레코드가 결정되는 마스터-세부 시나리오에 사용됩니다.
자세한 내용은 DetailsView 웹 서버 컨트롤 개요를 참조하십시오.
FormView 컨트롤
FormView 컨트롤은 DetailsView 컨트롤과 비슷하며 데이터 소스에서 한 번에 하나의 레코드를 렌더링하고 레코드 삽입, 업데이트, 삭제 및 여러 레코드 페이징 기능을 제공합니다. 그러나 DetailsView 컨트롤에서는 데이터 레코드의 각 필드가 컨트롤의 행으로 표시되는 테이블 기반 레이아웃을 사용한다는 점이 FormView 컨트롤과 DetailsView 컨트롤의 차이입니다. 이와 달리 FormView 컨트롤에서는 레코드를 표시할 때 미리 정의된 레이아웃을 지정하지 않습니다. 대신 컨트롤이 포함된 템플릿을 만들어 레코드의 개별 필드를 표시합니다. 이 템플릿에는 폼을 레이아웃하는 데 사용되는 서식, 컨트롤 및 바인딩 식이 포함됩니다.
자세한 내용은 FormView 웹 서버 컨트롤 개요를 참조하십시오.
Repeater 컨트롤
Repeater 컨트롤은 데이터 소스에서 반환된 레코드 집합의 읽기 전용 목록을 렌더링합니다. FormView 컨트롤과 마찬가지로 Repeater 컨트롤은 기본 제공된 레이아웃을 지정하지 않습니다. 대신 템플릿을 사용하여 Repeater 컨트롤에 대한 레이아웃을 만듭니다.
자세한 내용은 Repeater 웹 서버 컨트롤 개요를 참조하십시오.
DataList 컨트롤
DataList 컨트롤은 데이터를 테이블로 렌더링하고, 데이터 레코드를 열 형식으로 정렬하거나 행 형식으로 정렬하는 등 다양한 레이아웃에 표시할 수 있습니다. 사용자가 테이블의 레코드를 편집하거나 삭제할 수 있도록 DataList 컨트롤을 구성할 수 있습니다. DataList 컨트롤은 데이터를 수정할 때 데이터 소스 컨트롤의 기능을 사용하지 않으며 이 코드를 직접 제공해야 합니다. DataList 컨트롤과 Repeater 컨트롤의 차이는 DataList 컨트롤의 경우 Repeater 컨트롤과 달리 항목을 명시적으로 HTML 표에 배치한다는 점입니다.
자세한 내용은 DataList 웹 서버 컨트롤 개요를 참조하십시오.
ListView 컨트롤
ListView 컨트롤은 템플릿을 사용하여 정의한 형식으로 데이터 소스의 데이터를 표시합니다. 이 템플릿에는 데이터를 레이아웃하는 데 사용되는 서식, 컨트롤 및 바인딩 식이 포함됩니다. ListView 컨트롤은 DataList 및 Repeater 컨트롤과 마찬가지로 모든 반복적인 구조의 데이터에 대해 유용합니다. 그러나 DataList 및 Repeater 컨트롤과 달리 ListView 컨트롤은 암시적으로 정렬 및 페이징 기능뿐만 아니라 편집, 삽입 및 삭제 작업을 지원합니다.
자세한 내용은 ListView 웹 서버 컨트롤 개요를 참조하십시오.