ASP. NET 프레임 워 크 의 데이터 바 인 딩 개요 와 데이터 바 인 딩 표현 식 사용

문법
ASP. NET 은 새로운 성명 성 문법 을 소개 했다.이 문법 은. aspx 페이지 에서 데이터 바 인 딩 을 사용 하 는 기초 입 니 다.모든 데이터 바 인 딩 표현 식 은 이 문자 에 포함 되 어야 합 니 다.아래 목록 은 여러 소스 에서 간단 한 데이터 바 인 딩 을 하 는 예 를 포함 합 니 다. 간단 한 속성 (고객 의 문법 에 사용):



집합 (주문 에 사용 되 는 문법):


 표현 식 (연락처 에 사용 할 문법):



      방법 결과 (잔액 을 결제 하지 않 은 문법 에 사용):



      앞의 예제 에서 내 연 표 시 는 특정한 데이터 원본 의 정 보 를. aspx 페이지 에 두 는 위 치 를 표시 하 는 데 사 용 됩 니 다.다음 데이터 바 인 딩 예제 에 서 는 TextBox 웹 서버 컨트롤 을 사용 합 니 다.


Page.DataBind() versus Control.DataBind()
특정 데이터 원본 을 확인 하고. aspx 페이지 의 대상 을 설정 한 후 데이터 원본 에 연결 해 야 합 니 다.Page. Data Bind 나 Control. Data Bind 방법 으로 데 이 터 를 데이터 원본 에 연결 할 수 있 습 니 다.
이 두 가지 방법의 사용 방식 은 매우 비슷 하 다.주요 차이 점 은 Page. Data Bind 방법 을 호출 하면 모든 데이터 원본 이 서버 컨트롤 에 연 결 됩 니 다.웹 서버 컨트롤 을 명시 적 으로 호출 하 는 DataBind 방법 이나 페이지 급 Page. Data Bind 방법 을 호출 하기 전에 컨트롤 에 데이터 가 표시 되 지 않 습 니 다.보통 PageLoad 이벤트 에서 Page. Data Bind (또는 DataBind) 를 호출 합 니 다.
데이터 바 인 딩 표현 식 은 데이터 바 인 딩 표현 식 을 구분자 에 포함 시 키 고 Eval 과 Bind 함 수 를 사용 합 니 다.Eval 함 수 는 단 방향 (읽 기 전용) 바 인 딩 을 정의 하 는 데 사 용 됩 니 다.Bind 함 수 는 양 방향 (업데이트 가능) 바 인 딩 을 정의 하 는 데 사 용 됩 니 다.데이터 바 인 딩 표현 식 에서 Eval 과 Bind 방법 으로 데이터 바 인 딩 을 실행 하 는 것 외 에 구분자 안의 모든 공공 범위 코드 를 호출 하여 페이지 처리 과정 에서 이 코드 를 실행 하고 값 을 되 돌려 줄 수 있 습 니 다.컨트롤 이나 페이지 류 의 DataBind 방법 을 호출 할 때 데이터 바 인 딩 표현 식 을 분석 합 니 다.일부 컨트롤, 예 를 들 어 GridView, DetailsView, FormView 컨트롤 은 컨트롤 의 PreRender 이벤트 기간 에 데이터 바 인 딩 표현 식 을 자동 으로 처리 합 니 다. DataBind 방법 을 명시 적 으로 호출 할 필요 가 없습니다.다음 코드 예제 에 서 는 데이터 바 인 딩 표현 식 을 ItemTemplate 의 FormView 컨트롤 과 결합 하여 사용 하 는 방법 을 보 여 줍 니 다.



 
  
Product ID:
Product Name:
Category ID:
Quantity Per Unit:
Unit Price:

Eval 방법 을 사용 하면 Eval 방법 으로 데이터 바 인 딩 컨트롤 (예 를 들 어 GridView, DetailsView 와 FormView 컨트롤) 의 템 플 릿 의 후기 바 인 딩 데이터 표현 식 을 계산 할 수 있 습 니 다.실행 할 때 Eval 방법 은 DataBinder 대상 의 Eval 방법 을 호출 하고 이름 용기 의 현재 데이터 항목 을 참조 합 니 다.이름 용 기 는 보통 전체 기록 을 포함 하 는 데이터 바 인 딩 컨트롤 의 최소 구성 부분 입 니 다. 예 를 들 어 GridView 컨트롤 의 한 줄 입 니 다.따라서 데이터 바 인 딩 컨트롤 의 템 플 릿 내 바 인 딩 에 만 Eval 방법 을 사용 할 수 있 습 니 다.Eval 방법 은 데이터 필드 의 이름 을 매개 변수 로 데이터 원본 의 현재 기록 에서 이 필드 값 을 포함 하 는 문자열 을 되 돌려 줍 니 다.두 번 째 매개 변 수 를 제공 하여 문자열 을 되 돌려 주 는 형식 을 지정 할 수 있 습 니 다. 이 매개 변 수 는 선택 가능 한 매개 변수 입 니 다.문자열 형식 매개 변 수 는 String 류 의 Format 방법 으로 정 의 된 문법 을 사용 합 니 다.
Bind 방법 을 사용 하 는 Bind 방법 은 Eval 방법 과 비슷 한 점 이 있 지만 큰 차이 가 있 습 니 다.Eval 방법 처럼 Bind 방법 으로 데이터 바 인 딩 필드 의 값 을 검색 할 수 있 지만 데이터 가 수 정 될 수 있 을 때 는 Bind 방법 을 사용 해 야 합 니 다.ASP. NET 에서 데이터 바 인 딩 컨트롤 (예 를 들 어 GridView, DetailsView, FormView 컨트롤) 은 데이터 원본 컨트롤 의 업데이트, 삭제, 삽입 작업 을 자동 으로 사용 할 수 있 습 니 다.예 를 들 어 데이터 원본 컨트롤 에 SQL Select, Insert, Delete, Update 문 구 를 정의 했다 면 GridView, DetailsView 또는 FormView 컨트롤 템 플 릿 의 Bind 방법 을 사용 하면 컨트롤 을 템 플 릿 의 하위 컨트롤 에서 값 을 추출 하고 이 값 을 원본 컨트롤 에 전달 할 수 있 습 니 다.그리고 데이터 원본 컨트롤 은 적당 한 데이터베이스 명령 을 실행 합 니 다.이 때문에 데이터 바 인 딩 컨트롤 의 EditItemTemplate 나 InsertItemTemplate 에 서 는 Bind 함 수 를 사용 해 야 합 니 다.Bind 방법 은 보통 입력 컨트롤 과 함께 사용 합 니 다. 예 를 들 어 편집 모드 의 GridView 줄 에 나타 난 TextBox 컨트롤 입 니 다.데이터 바 인 딩 컨트롤 이 이 입력 컨트롤 을 자신 이 보 여 주 는 일부분 으로 만 들 때 이 방법 은 입력 값 을 추출 할 수 있 습 니 다.Bind 방법 은 데이터 필드 의 이름 을 매개 변수 로 하여 바 인 딩 속성 과 연결 합 니 다. 아래 의 예제 와 같 습 니 다.


 
Employee ID:
First Name:
Last Name:
 

줄 의 Update 단 추 를 누 르 면 Bind 문법 으로 연 결 된 모든 컨트롤 속성 값 을 추출 하고 데이터 원본 컨트롤 에 전달 하여 업데이트 작업 을 수행 합 니 다.
GridView, FormView, DetailsView 컨트롤 등 DataBind 방법 을 명시 적 으로 호출 합 니 다. DataSourceID 속성 을 통 해 데이터 원본 컨트롤 에 연결 할 때 암시 적 으로 DataBind 방법 을 호출 하여 바 인 딩 을 수행 합 니 다.그러나 데이터 빈 드 를 명시 적 으로 호출 하 는 방법 으로 바 인 딩 을 수행 해 야 하 는 경우 도 있다.그 중 하 나 는 DataSource 속성 (DataSourceID 속성 이 아 닌) 을 사용 하여 특정한 컨트롤 을 데이터 원본 컨트롤 에 연결 할 때 입 니 다.이러한 상황 에서 DataBind 방법 을 명시 적 으로 호출 하여 데이터 바 인 딩 과 데이터 바 인 딩 표현 식 을 실행 해 야 합 니 다.다른 경 우 는 데이터 바 인 딩 컨트롤 의 데 이 터 를 수 동 으로 새로 고 쳐 야 할 때 입 니 다.이러한 페이지 가 있다 고 가정 하면 두 개의 컨트롤 이 있 습 니 다. 이 두 컨트롤 은 모두 같은 데이터 베이스 에서 온 정 보 를 표시 합 니 다 (다른 보 기 를 사용 할 수 있 습 니 다).이 경우 데이터 디 스 플레이 의 동기 화 를 유지 하기 위해 컨트롤 을 데이터 에 명시 적 으로 다시 연결 해 야 할 수도 있 습 니 다.예 를 들 어 제품 목록 을 표시 하 는 GridView 컨트롤 과 하나의 제품 을 편집 할 수 있 는 DetailsView 컨트롤 이 있 을 수 있 습 니 다.GridView 와 DetailsView 컨트롤 에 표 시 된 데 이 터 는 모두 같은 데이터 원본 에서 나 왔 지만 서로 다른 데이터 원본 컨트롤 에 연결 되 어 있 습 니 다. 이 두 컨트롤 은 서로 다른 조 회 를 통 해 데 이 터 를 얻 을 수 있 기 때 문 입 니 다.사용 자 는 DetailsView 컨트롤 을 사용 하여 기록 을 업데이트 하여 관련 데이터 원본 컨트롤 에 의 해 업 데 이 트 를 수행 할 수 있 습 니 다.그러나 GridView 컨트롤 이 서로 다른 데이터 원본 컨트롤 에 연결 되 어 있 기 때문에 이 컨트롤 은 페이지 가 새로 고 쳐 질 때 까지 오래된 기록 값 을 표시 합 니 다.따라서 DetailsView 컨트롤 에서 데 이 터 를 업데이트 한 후 DataBind 방법 을 호출 할 수 있 습 니 다.이것 은 GridView 컨트롤 이 보 기 를 업데이트 하고 데이터 바 인 딩 표현 식 과 구분자 안의 공공 범위 코드 를 다시 실행 합 니 다.이렇게 되면 GridView 컨트롤 은 DetailsView 컨트롤 이 업데이트 한 것 을 반영 합 니 다.
검색 표 에 연 결 된 데이터 바 인 딩 컨트롤 을 사용 하 는 일반적인 방안 은 사용자 가 DropDownlList 컨트롤 이나 다른 목록 컨트롤 을 사용 하여 검색 표 에서 값 을 선택 하여 이 값 을 업데이트 하거나 삽입 할 수 있 도록 하 는 것 입 니 다.이 경우 이 검색 컨트롤 을 가능 한 값 목록 으로 돌아 가 는 단독 데이터 원본 에 연결 하고 이 검색 컨트롤 의 선택 값 을 부모 데이터 바 인 딩 줄 의 필드 에 연결 합 니 다.다음 과 같은 방법 으로 이 기능 을 추가 할 수 있 습 니 다.우선, 컨트롤 을 찾 을 때 데이터 바 인 딩 컨트롤 (예 를 들 어 GridView, DetailsView 또는 FormView 컨트롤) 의 템 플 릿 에 목록 컨트롤 (DropDownlList 또는 ListBox 컨트롤) 을 추가 합 니 다.이 어 컨트롤 을 찾 는 Selected Value 속성 을 용기 컨트롤 의 데이터 원본 에 연결 합 니 다.그 다음 에 컨트롤 을 찾 는 DataSourceID 속성 을 검색 할 수 있 는 데이터 원본 컨트롤 로 설정 합 니 다.이 어 컨트롤 을 찾 는 DataTextField 속성 을 검색 표 에 표시 할 값 을 포함 하 는 필드 로 설정 하고 DataValueField 속성 을 검색 표 에 검색 값 을 포함 하 는 유일한 식별 자 필드 로 설정 합 니 다 (적용 된다 면).다음 코드 예제 에 서 는 DropDownlList 컨트롤 을 보 여 줍 니 다. 이 컨트롤 은 FormView 컨트롤 의 InsertItemTemplate 템 플 릿 에 포 함 됩 니 다. (DetailsView 컨트롤 의 Fields 속성 이나 GridView 컨트롤 의 Columns 속성 에 포 함 된 Template Field 의 InsertItemTemplate 템 플 릿 일 수도 있 습 니 다.)DropDownlList 컨트롤 의 Selected Value 속성 은 Bind 방법 으로 FormView 컨트롤 현재 줄 의 CategoryID 필드 와 양 방향 연결 을 실현 합 니 다.DropDownlList 컨트롤 의 DataSourceID 속성 을 별도의 데이터 원본 컨트롤 로 설정 하여 가능 한 분류 이름과 ID 목록 을 검색 하 는 데 사용 합 니 다.DropDownlList 컨트롤 의 DataTextField 속성 을 데이터 원본 을 찾 는 CategoryName 필드 로 설정 하여 가능 한 분류 이름 목록 을 표시 합 니 다.DropDownlList 컨트롤 의 DataValueField 속성 을 데이터 원본 의 관련 분류 이름 을 찾 는 CategoryID 필드 로 설정 합 니 다.사용자 가 목록 에서 카 테 고리 이름 을 선택 하면 DropDownlist 컨트롤 의 Selected Value 속성 은 카 테 고리 이름 을 선택 한 카 테 고리 ID 로 설 정 됩 니 다.

좋은 웹페이지 즐겨찾기