페이지 매김 지원
업데이트: 2007년 11월
무선 장치는 다양한 기능의 화면을 사용합니다. 콘텐츠를 다양하게 표시할 수 있는 기능을 제공하는 화면도 있고 몇 줄로 구성된 단색 텍스트만 표시하는 화면도 있습니다. 기본 화면의 콘텐츠를 제대로 표시하기 위해 때때로 페이지 매김을 수행해야 합니다. ASP.NET 모바일 컨트롤을 사용하면 응용 프로그램에서 자동으로 폼에 페이지 매김을 수행하여 대상 장치에 적합한 페이지로 만들 수 있습니다. 이 단원에서는 모바일 컨트롤을 페이지 매김 프로세스에 참여시킬 수 있는 방법에 대해 설명합니다.
페이지 매김 가중 시스템 이해
폼 페이지 매김 프로세스는 가중 시스템을 기반으로 합니다. 따라서 모든 페이지 어댑터는 OptimumPageWeight 속성을 통해 폼에 최적화된 페이지 무게를 반환합니다.
장치 어댑터 집합은 페이지 및 각 컨트롤에 최적화된 무게를 제공할 수 있습니다. 이러한 무게의 단위는 융통성 있게 선택할 수 있습니다. 무게 단위에 맞는 적합한 규칙을 조정할 수 있지만 기본 단위 시스템을 따를 경우 장치 어댑터 집합에 대해 컨트롤의 기본 무게를 사용할 수 있습니다.
참고: |
---|
기본 단위 시스템은 ControlPager 클래스의 DefaultWeight 상수에 지정된 대로 100개 단위에 해당하는 단일 줄을 기반으로 합니다. |
페이지 매김을 수행할 때 ASP.NET에서는 컨트롤 트리 전체에서 반복하여 무게를 계산하고 페이지 번호를 할당합니다. ASP.NET에서는 현재 페이지를 렌더링한 후 적절한 페이지 매김을 수행합니다. FirstPage 및 LastPage 속성을 사용하여 컨트롤에 할당되는 페이지를 확인할 수 있습니다.
페이지 매김 알고리즘은 페이지 매김을 통해 여러 페이지로 나누어지지 않도록 하는 컨트롤 설정도 고려합니다. 예를 들어, Panel 컨트롤의 콘텐츠가 여러 페이지로 나누어지지 않도록 할 수도 있습니다. 컨트롤의 콘텐츠에 페이지 매김을 수행하지 않으려면 컨트롤 구현에서 PaginateChildren 속성을 재정의하여 false를 반환합니다.
기본 페이지 매김 지원
페이지 매김을 올바로 수행하려면 컨트롤에서 VisibleWeight 속성을 재정의한 다음 무게를 반환해야 합니다. 기본 무게는 100이며 이것은 기본 단위 시스템에서 한 줄에 해당합니다.
또는 장치별로 컨트롤 무게를 설정하려는 경우 컨트롤 어댑터에서 VisibleWeight 속성을 특정 장치에 맞는 값으로 재정의할 수 있습니다. MobileControl 기본 클래스에 구현된 VisibleWeight 속성은 장치 어댑터에서 이 값을 검색합니다.
내부 및 사용자 지정 페이지 매김 디자인
일부 컨트롤은 자식 컨트롤이 없는 경우에도 페이지 매김을 사용하여 컨트롤의 콘텐츠를 여러 폼 페이지로 나눕니다. 예를 들어, 여러 항목이 포함된 List 컨트롤에 대해 페이지 매김을 수행하여 해당 컨트롤을 여러 폼 페이지로 만들 수 있는데, 이것을 내부 페이지 매김이라고 합니다. 내부 페이지 매김을 수행할 수 있는 컨트롤은 사용자 지정 페이지 매김도 수행할 수 있습니다. 사용자 지정 페이지 매김은 응용 프로그램에 콜백 함수를 제공하여 요청 시 필수 데이터를 컨트롤에 제공하고 관련 데이터를 그룹화할 수 있습니다.
페이지 매김 방지
페이지 매김은 컨트롤의 콘텐츠를 여러 페이지로 나눕니다. 경우에 따라서는 컨트롤이 여러 페이지로 구분되는 페이지 매김이 수행되지 않도록 할 수도 있습니다. 예를 들어, Panel 컨트롤에 페이지 매김이 수행되지 않도록 할 수 있습니다. Panel 컨트롤의 Paginate 속성은 기본적으로 false로 설정되어 있습니다.