데이터 바인딩된 웹 파트 컨트롤 만들기

Visual Studio 2010

업데이트: 2007년 11월

WebPart 기본 클래스에서 상속하면 데이터 바인딩된 일반적인 서버 컨트롤에 웹 파트 기능을 제공할 수 있습니다. 웹 파트 응용 프로그램에서 최종 사용자는 서버 컨트롤의 동작과 UI(사용자 인터페이스)를 수정(개인 설정)하고 이후 브라우저 세션을 위해 장기 저장소에 설정을 저장할 수 있습니다. 사용자는 컨트롤 추가 또는 제거, 컨트롤의 속성과 모양 편집, 페이지 레이아웃 다시 정렬, 컨트롤 설정 가져오기 또는 내보내기, 컨트롤이 데이터를 공유할 수 있도록 연결 설정 등의 작업을 수행하여 페이지의 모양과 느낌을 과감하게 변경할 수 있습니다. 웹 파트 응용 프로그램에 대한 자세한 내용은 ASP.NET 웹 파트 컨트롤에 나열된 항목을 참조하십시오. 이 항목에서는 웹 파트 응용 프로그램에서 데이터 바인딩된 사용자 지정 WebPart 컨트롤 또는 서버 컨트롤을 사용하기 위한 필수 구성 요소에 대해 설명하고 기본 WebPart 클래스에서 사용자 지정 컨트롤을 만들 때 구현하거나 재정의하면 유용한 일부 멤버를 요약하여 보여 줍니다. 이러한 일부 멤버를 재정의하고 구현하는 예제를 보려면 데이터 바인딩된 웹 파트 컨트롤 예제 항목을 참조하십시오.

웹 파트 컨트롤은 격리 상태에서 실행될 수 없으며 격리 상태에서 실행되면 해당 컨트롤의 웹 파트 기능이 모두 상실됩니다. 웹 응용 프로그램에서 웹 파트 응용 프로그램의 다른 필수 요소 없이 WebPart 컨트롤을 실행하면 이 컨트롤은 웹 파트 기능을 상실하고 일반적인 서버 컨트롤처럼 사용됩니다. 다음 목록에서는 웹 파트 기능이 포함된 사용자 지정 WebPart 컨트롤을 사용하기 위해 있어야 할 필수 요소에 대해 설명합니다.

  • WebPartManager 컨트롤. 이 컨트롤은 웹 파트 기능을 제공하는 모든 페이지에 있어야 합니다. 자세한 내용은 웹 파트 컨트롤 설정 개요를 참조하십시오.

  • WebPartZoneBase 영역 컨트롤. 웹 페이지에는 WebPartZone 컨트롤처럼 WebPart 컨트롤을 포함하기 위해 이 추상 클래스에서 파생되는 영역이 있어야 합니다. 자세한 내용은 웹 파트 컨트롤 설정 개요를 참조하십시오.

  • Windows 인증이나 폼 인증을 사용하여 개별 사용자를 인식할 수 있는 ASP.NET 웹 사이트. 가상 디렉터리나 사이트를 만드는 방법에 대한 자세한 내용은 방법: IIS 5.0 및 6.0에서 가상 디렉터리 만들기 및 구성 또는 방법: IIS 6.0에서 로컬 ASP.NET 웹 사이트 만들기 및 구성을 참조하십시오.

  • 컨트롤에 사용자 설정을 저장하는 데 사용하도록 구성된 개인 설정 공급자 및 데이터베이스. 웹 파트 개인 설정은 기본적으로 활성화되어 있으며 SQL 개인 설정 공급자(SqlPersonalizationProvider)와 Microsoft SSE(SQL Server Express) Edition을 함께 사용하여 개인 설정 데이터를 저장합니다. 이 연습에서는 SSE와 기본 SQL 공급자를 사용합니다. SSE가 설치되어 있으면 구성이 필요하지 않습니다. SSE는 Microsoft Visual Studio 2005를 설치할 때 옵션으로 선택하거나 Microsoft.com에서 무료로 다운로드할 수 있습니다. Microsoft SQL Server 정식 버전을 사용하려면 ASP.NET 응용 프로그램 서비스 데이터베이스를 설치 및 구성하고 SQL 개인 설정 공급자를 구성하여 해당 데이터베이스에 연결해야 합니다. 자세한 내용은 SQL Server용 응용 프로그램 서비스 데이터베이스 만들기 및 구성을 참조하십시오. SQL 이외의 데이터베이스나 저장소 솔루션에서 사용할 사용자 지정 공급자를 만들고 구성할 수도 있습니다. 자세한 내용과 코드 예제를 보려면 멤버 자격 공급자 구현을 참조하십시오.

웹 파트 응용 프로그램에서는 모든 형식의 서버 컨트롤을 사용할 수 있지만 사용자 지정 WebPart 컨트롤을 만들면 몇 가지 이점이 있습니다. 자세한 내용은 웹 파트 응용 프로그램에서 ASP.NET 서버 컨트롤 사용을 참조하십시오. WebPart 기본 클래스에서 상속할 경우에는 반드시 구현해야 할 멤버가 없습니다. 그러나 일반적으로 사용하거나 재정의할 수 있는 일부 멤버가 있으며 이러한 멤버는 다음 표에 요약되어 있습니다. WebPart 컨트롤로 구현되는 데이터 바인딩된 서버 컨트롤의 전체 예제를 보려면 데이터 바인딩된 웹 파트 컨트롤 예제를 참조하십시오. 다음 표에서는 일반적으로 사용되는 멤버 중 일부를 요약하여 보여 줍니다.

멤버

설명

WebPart

일반적으로 이 생성자는 Part 클래스에서 상속되는 속성 또는 동작 속성(예: AllowEdit 또는 AllowLayoutChange 속성)처럼 WebPart 컨트롤의 모양과 동작을 결정하는 일부 속성의 기본값을 설정하는 데 사용됩니다.

동작 속성

이 속성에는 클래스의 다양한 "Allow" 속성이 포함됩니다(예: AllowClose, AllowConnect, AllowEdit, AllowMinimize, AllowLayoutChangeAllowZoneChange). 개발자는 단순히 생성자를 사용하여 이러한 속성에 기본값을 할당하는 대신 속성을 완전히 제어할 수 있습니다. 예를 들면 컨트롤을 사용하는 개발자 또는 사용자가 컨트롤을 닫을 수 없도록 합니다.

CreateChildControls

WebPart 클래스에서 상속하는 경우 사용자 지정 컨트롤에 UI를 제공해야 합니다. 이를 효과적으로 수행하려면 CreateChildControls 메서드를 재정의하고 이 메서드에서 사용자 지정 컨트롤의 UI를 구성하는 다른 서버 컨트롤을 추가하면 됩니다. 이러한 컨트롤을 추가하는 경우 사용자 지정 이벤트 처리기를 만들거나 데이터 소스에 해당 컨트롤을 바인딩하는 등 추가 작업을 수행해야 할 수도 있습니다.

렌더링 메서드

RenderControl 또는 RenderContents와 같은 일반적인 렌더링 메서드를 재정의해야 할 수도 있습니다. 이러한 메서드를 사용하면 렌더링을 전체적으로 재정의하거나, 먼저 기본 메서드를 호출한 다음 렌더링의 일부 요소를 수정할 수 있습니다.

Verbs

표준 동사(예: 닫기, 최소화)가 포함된 컨트롤 동사 메뉴에 나타낼 사용자 지정 WebPartVerb 개체를 만드는 경우 이 개체를 컨트롤의 Verbs 컬렉션에 추가해야 합니다.

CreateEditorParts

사용자가 컨트롤의 사용자 지정 속성을 편집할 수 있도록 하기 위해 사용자 지정 EditorPart 컨트롤을 만드는 경우 CreateEditorParts 메서드를 재정의하여 이러한 컨트롤을 사용자 지정 컨트롤에 연결해야 합니다. 예제를 보려면 IWebEditable 인터페이스를 참조하십시오.

PersonalizableAttribute

WebPart 컨트롤에서 사용자 지정 속성을 만드는 경우, 표준 WebPart 컨트롤 속성과 마찬가지로 설정을 저장할 수 있도록 사용자가 이러한 속성을 편집하고 개인 설정하게 할 수 있습니다. 사용자가 개인 설정할 수 있는 속성에 Personalizable 메타데이터 특성을 추가하십시오.

Northwind 데이터베이스에 바인딩되는 GridView 컨트롤을 만드는 방법을 보여 주고 이 컨트롤을 WebPart 컨트롤로 구현하는 전체 코드 예제를 보려면 데이터 바인딩된 웹 파트 컨트롤 예제를 참조하십시오.

표시: