방법: EntityDataSource에 웹 컨트롤 바인딩
업데이트: 2007년 11월
ListView, FormView, DetailsView 및 GridView 웹 서버 컨트롤은 EntityDataSource 컨트롤과 함께 사용할 경우 자동 읽기, 삽입, 업데이트 및 삭제 기능을 제공합니다. 이러한 컨트롤의 디자인 화면에서 HTML 요소를 쉽게 구성하고 해당 요소의 데이터를 EntityDataSource 컨트롤에 바인딩할 수 있습니다.
EntityDataSource로 웹 서버 컨트롤 바인딩
ListView, FormView, DetailsView 및 GridView 컨트롤은 디자인이 매우 유사합니다. 다음 단계에 따라 이러한 웹 서버 컨트롤 중 하나를 EntityDataSource 컨트롤에 바인딩합니다.
ASP.NET 웹 응용 프로그램을 만듭니다.
Entity Framework를 사용하도록 프로젝트를 구성하고, 프로젝트에 EDM(엔터티 데이터 모델)을 정의하고, 프로젝트를 다시 빌드합니다. 자세한 내용은 How to: Use the Entity Data Model Wizard (Entity Framework)를 참조하십시오.
컨트롤을 웹 페이지 디자인 화면으로 끌어 옵니다.
EntityDataSource를 구성합니다. 자세한 내용은 EntityDataSource 컨트롤 구성을 참조하십시오.
EntityDataSource 컨트롤을 사용하도록 컨트롤을 구성합니다.
참고: |
---|
웹 서버 컨트롤 디자이너의 제한 사항으로 인해 엔터티 개체의 탐색 속성을 처리할 경우 코드 숨김 페이지를 수동으로 편집하여 항목 템플릿의 탐색 속성 이름에서 대괄호를 제거해야 합니다. |
다음 절차에서는 EntityDataSource 컨트롤에 바인딩되는 ListView 컨트롤을 만듭니다. 이 절차를 완료하려면 Entity Framework가 구성되어 있어야 하며 AdventureWorks Sales 모델이 정의되어 있어야 합니다. 자세한 내용은 How to: Use the Entity Data Model Wizard (Entity Framework)를 참조하십시오.
EntityDataSource에 바인딩된 ListView 컨트롤을 만들려면
프로젝트와 데이터 모델을 빌드합니다.
ListView 컨트롤의 인스턴스를 디자인 화면으로 끌어 옵니다.
ListView 컨트롤에서 > 기호를 클릭하고 데이터 소스 선택을 선택합니다.
드롭다운 목록에서 **<새 데이터 소스>**를 선택합니다.
데이터 소스 구성 마법사가 나타나면 엔터티를 선택하고 데이터 소스 이름으로 SalesOrderHeaderDataSource를 지정한 다음 확인을 클릭합니다.
명명된 연결 및 DefaultContainerName 모두에 AdventureWorksEntities를 선택한 후 다음을 클릭합니다.
EntitySetName 드롭다운 목록 상자에서 SalesOrderHeader를 선택하고 모두 선택(엔터티 값) 확인란을 선택된 상태로 두고 자동 삽입, 업데이트 및 삭제 확인란을 선택합니다.
마침을 클릭합니다.
그러면 EntityDataSource1이라는 EntityDataSource 컨트롤에 바인딩된 새 ListView 컨트롤 인스턴스가 만들어집니다.
SalesOrderHeaderDataSource의 속성 페이지에서 Include 속성을 찾아 다음 문자열을 추가합니다.
Address, Address1, Contact
이렇게 하면 쿼리에서 SalesOrderHeader 개체뿐만 아니라 각 개체와 관련된 Address 및 Contact 개체도 반환합니다. 자세한 내용은 쿼리 경로 정의(EntityDataSource)를 참조하십시오.
ListView 작업 상자에서 ListView 구성 옵션을 클릭합니다.
편집 사용, 삽입 사용, 삭제 사용 및 페이징 사용 확인란을 선택합니다.
확인을 클릭합니다.
참고: 이 시점에서 응용 프로그램을 실행할 수 있어야 합니다. 하지만 웹 서버 컨트롤 디자이너의 제한 사항으로 인해 엔터티 개체의 탐색 속성을 처리할 경우 다음 단계를 수행해야 합니다.
소스 뷰에서 Default.aspx 파일을 엽니다.
Address.AddressID, Address1.AddressID 및 Contact.ID의 모든 인스턴스 주변에 있는 대괄호 [ ]를 찾아 제거합니다. 이러한 형식은 ItemTemplate 및 InsertItemTemplate에 포함된 모든 Eval 및 Bind 함수에서 찾을 수 있습니다.
프로젝트를 다시 빌드하여 응용 프로그램을 실행합니다.