다음을 통해 공유


어댑터 종류

업데이트: 2007년 11월

여러 가지 장치를 지원하기 위해 ASP.NET 모바일 웹 페이지 아키텍처는 장치 어댑터 모델을 기초로 합니다. 모바일 웹 페이지 및 ASP.NET 모바일 컨트롤은 장치에 독립적이지만 적절하게 선택된 장치 어댑터 집합에서 모바일 페이지 및 컨트롤에 장치별 프레젠테이션 계층을 제공합니다.

장치 어댑터는 개별 컨트롤과 대상 장치의 조합으로 연결됩니다. 지정된 장치에 대해 각 모바일 컨트롤 클래스에는 고유한 컨트롤 어댑터 클래스가 연결될 수 있으며 컨트롤의 각 인스턴스는 어댑터의 해당 인스턴스에 바인딩됩니다.

장치의 각 형식에 대해 다음 클래스를 정의할 수 있습니다.

  • 컨트롤 어댑터 기본 클래스 - 모든 장치 어댑터를 상속하는 기본 클래스

  • 페이지 어댑터 - 페이지에 연결된 어댑터

  • 폼 어댑터 - 페이지의 각 폼에 연결된 컨트롤 어댑터

  • 컨트롤 어댑터 - 시스템의 컨트롤에 해당하는 컨트롤 어댑터 클래스

  • 텍스트 작성기 - HtmlTextWriter 클래스에서 상속되며 대상별 도우미 메서드를 포함하는 클래스

일반적으로, 일부 기능을 사용하기 위해 컨트롤 컨텍스트가 필요한 경우 컨트롤 어댑터 기본 클래스에 해당 컨트롤을 배치할 수도 있습니다.

다음 표에서는 어댑터의 종류와 각 어댑터에 대한 장치별 구현 클래스의 몇 가지 예를 보여 줍니다.

어댑터 및 클래스 형식

ASP.NET 모바일 컨트롤 클래스

설명

컨트롤 어댑터 기본 클래스

ControlAdapter

모든 장치 어댑터는 이 기본 클래스에서 상속됩니다.

페이지 어댑터

ChtmlPageAdapter

HtmlPageAdapter

WmlPageAdapter

XhtmlPageAdapter

페이지에 연결된 컨트롤 어댑터입니다.

폼 어댑터

ChtmlFormAdapter

HtmlFormAdapter

WmlFormAdapter

XhtmlFormAdapter

페이지의 각 폼에 연결된 컨트롤 어댑터입니다.

컨트롤 어댑터

HtmlControlAdapter

WmlControlAdapter

XhtmlControlAdapter

시스템의 컨트롤에 해당하는 컨트롤 어댑터 클래스입니다.

텍스트 작성기

ChtmlMobileTextWriter

HtmlMobileTextWriter

WmlMobileTextWriter

XhtmlMobileTextWriter

HtmlTextWriter에서 상속되며 대상별 도우미 메서드를 포함하는 클래스입니다.

컨트롤 어댑터 기본 클래스

일반적으로 모든 장치 어댑터 집합에는 해당 집합의 모든 어댑터에 대한 기본 클래스가 포함되어 있습니다. ControlAdapter 기본 클래스는 장치 클래스와 관련하여 일반적으로 사용되는 기능을 제공합니다. 이 클래스는 컨트롤 또는 페이지 컨텍스트가 필요한 도우미 메서드로 구성됩니다. 이러한 도우미 메서드에는 다음 요소가 포함됩니다.

  • 컨트롤 다시 게시 이벤트를 렌더링하는 메서드

  • 컨트롤의 스타일 속성을 렌더링하는 메서드. 스타일 속성은 각 장치에 따라 다르게 처리되므로 각 어댑터는 서로 다른 구현 방식으로 스타일을 렌더링합니다.

  • ASP.NET 페이지 프레임워크 또는 페이지나 폼을 포함하는 어댑터에 장치별 정보를 제공하는 재정의 가능한 메서드

  • 페이지 또는 폼을 포함하는 어댑터에 액세스하기 위한 편리한 속성

사용자가 제공하는 컨트롤 어댑터 기본 클래스도 ControlAdapter 기본 클래스에서 상속하는 것이 좋습니다. 이 클래스에는 모든 어댑터에 필요한 기본 IControlAdapter 인터페이스가 구현되어 있습니다. 기본 클래스에 구현되는 기본 렌더링 방식으로은 모든 자식 컨트롤이 렌더링되도록 하는 것이 좋습니다. 이렇게 하면 기본 클래스를 합성 컨트롤의 어댑터로 사용할 수 있습니다.

페이지 어댑터 클래스

모든 장치 어댑터 집합에는 모바일 페이지에 연결된 페이지 어댑터 클래스가 있습니다. 모바일 페이지의 각 인스턴스 또는 MobilePage 개체에서 상속된 각 페이지 클래스는 대상 장치와 관련된 페이지 어댑터에 바인딩됩니다. 페이지 어댑터에는 일반적으로 다음이 포함됩니다.

  • 장치별 다시 게시 및 뷰 상태 기능

  • 페이지 매김 정보와 같은 장치별 컨트롤 상태를 저장하고 로드하는 메서드

  • 클라이언트에 반환되는 응답을 준비하는 초기화 코드. 응답의 MIME 형식을 적절한 형식으로 설정하는 코드를 예로 들 수 있습니다.

  • 클라이언트에 반환되는 페이지의 기초를 렌더링하는 Render 메서드. 예를 들어, HTML 기반 페이지 어댑터는 최소한 <html> 여는 태그와 닫는 태그를 렌더링합니다.

  • 한 번의 응답으로 여러 페이지를 반환하는 기능을 지원하는 장치의 페이지 어댑터를 어셈블하는 기능과 같이 기타 장치별 페이지 수준 기능

페이지 어댑터 클래스는 IPageAdapter 인터페이스 전체를 구현해야 합니다. 일반적으로 사용자가 작성한 페이지 어댑터 클래스도 해당 컨트롤 어댑터 클래스에서 상속해야 합니다. 예를 들어, WML 기반 장치만 작성하는 경우 WmlControlAdapter 클래스에서 상속할 수 있습니다. 어댑터 클래스에 대한 자세한 내용은 장치 어댑터 코드를 참조하십시오.

폼 어댑터 클래스

모든 장치 어댑터 집합에는 Form 클래스에 연결된 폼 어댑터 클래스도 있습니다. 폼의 각 인스턴스는 대상 장치와 관련된 폼 어댑터에 바인딩됩니다. 폼 어댑터에는 일반적으로 다음이 포함됩니다.

  • 장치별 폼을 대화형으로 처리하는 메서드

  • 단일 폼을 여러 장치에 적용할 수 있도록 처리하는 메서드. 폼에 페이지 매김을 수행하거나 폼 요소를 메뉴로 통합하는 코드를 예로 들 수 있습니다.

  • 폼의 기초를 렌더링하는 Render 메서드. 예를 들어, WML 기반 페이지 어댑터는 최소한 <card> 여는 태그와 닫는 태그를 렌더링합니다.

텍스트 작성기 클래스

텍스트 작성기 클래스는 어댑터 클래스가 아니라 System.Web.UI.HtmlTextWriter 클래스에서 상속되는 클래스입니다. 텍스트 작성기 클래스의 인스턴스는 렌더링을 위해 모든 어댑터를 통해 만들어지고 전달되며, 이 개체를 통해 모든 렌더링이 수행됩니다. 일반적으로 텍스트 작성기에는 데이터 인코딩 같은 작업을 수행하는 도우미 메서드가 포함되어 있습니다.

참고 항목

기타 리소스

새 장치 어댑터 및 장치 지원 추가