MultiView 및 View 웹 서버 컨트롤 개요

업데이트: 2007년 11월

MultiViewView 웹 서버 컨트롤은 다른 컨트롤 및 태그에 대한 컨테이너 역할을 하며 정보의 대체 뷰를 손쉽게 나타내는 방법을 제공합니다.

이 항목의 내용은 다음과 같습니다.

  • 시나리오

  • 배경

  • 코드 예제

  • 클래스 참조

시나리오

MultiViewView 컨트롤을 사용하면 다음과 같은 작업을 수행할 수 있습니다.

  • 사용자 선택 또는 다른 조건을 기반으로 대체 컨트롤 집합을 제공합니다. 예를 들어 사용자가 공급 목록에서 개별 View 컨트롤에 구성된 각 항목을 선택하도록 할 수 있습니다. 그러면 사용자가 선택한 공급 목록의 항목이 포함된 View 컨트롤을 표시할 수 있습니다. 여러 Panel 컨트롤을 만드는 대신 MultiViewView 컨트롤을 사용할 수 있습니다.

  • 다중 페이지 양식을 만듭니다. MultiViewView 컨트롤은 Wizard 컨트롤과 유사한 동작을 제공할 수 있습니다. Wizard 컨트롤은 특히 단계별로 입력하는 양식을 만드는 데 적합합니다. 또한 Wizard 컨트롤은 추가 기본 제공 UI 요소(예: 머리글 및 바닥글), 이전다음 단추, 템플릿 등을 지원합니다. 순차적으로 표시되지 않고 조건에 따라 변경되는 표시를 만들어야 하거나 Wizard 컨트롤에서 지원되는 추가 기능이 필요하지 않은 경우 Wizard 대신 MultiView 컨트롤을 사용할 수 있습니다.

맨 위로 이동

배경

MultiView 컨트롤은 하나 이상의 View 컨트롤에 대해 외부 컨테이너 역할을 합니다. 또한 View 컨트롤에는 태그 및 컨트롤의 다양한 조합이 포함될 수 있습니다.

MultiView 컨트롤은 View 컨트롤을 한 번에 하나씩 표시하며 이 View 컨트롤 내에 있는 태그 및 컨트롤을 표시합니다. MultiView 컨트롤의 ActiveViewIndex 속성을 설정하면 현재 표시할 수 있는 View 컨트롤을 지정할 수 있습니다.

View 컨트롤 콘텐츠 렌더링

View 컨트롤은 선택하지 않으면 페이지에 렌더링되지 않습니다. 그러나 모든 View 컨트롤에 있는 모든 웹 서버 컨트롤의 인스턴스는 페이지가 렌더링될 때마다 만들어지며 해당 값은 페이지 뷰 상태의 일부로 저장됩니다.

MultiView 컨트롤이나 개별 View 컨트롤은 현재 View 컨트롤의 콘텐츠 외에는 어떤 태그도 페이지에 렌더링하지 않습니다. 예를 들어 이러한 컨트롤은 Panel 컨트롤과 동일한 방식으로 div 요소를 렌더링하지 않습니다. 또한 이러한 컨트롤은 현재의 View 컨트롤에 전체적으로 적용할 수 있는 모양 속성을 지원하지 않습니다. 그러나 MultiView 또는 View 컨트롤에 테마를 지정할 수 있으며 이렇게 하면 현재 View 컨트롤의 모든 자식 컨트롤에도 이 테마가 적용됩니다.

컨트롤 참조

View 컨트롤은 이 View 컨트롤에 있는 컨트롤의 컬렉션이 포함된 Controls 속성을 지원합니다. 또한 View 컨트롤에 있는 컨트롤을 코드에서 개별적으로 참조할 수 있습니다. 자세한 내용은 프로그래밍 방식으로 ASP.NET 컨트롤 액세스를 참조하십시오.

뷰 간 탐색

MultiView 컨트롤의 ActiveViewIndex 속성을 표시할 View 컨트롤의 인덱스 값으로 설정하면 뷰 사이를 이동할 수 있습니다. 또한 MultiView 컨트롤은 탐색 단추를 지원하므로 각 View 컨트롤에 추가할 수 있습니다.

탐색 단추는 각 View 컨트롤에 단추 컨트롤(Button, LinkButton 또는 ImageButton)을 추가하여 만들 수 있습니다. 그런 다음 각 단추의 CommandNameCommandArgument 속성을 예약 값으로 설정하여 MultiView 컨트롤을 다른 뷰로 이동시킬 수 있습니다. 다음 표에서는 예약된 CommandName 값과 해당되는 CommandArgument 값을 보여 줍니다.

CommandName 값

CommandArgument 값

NextView

(값 없음)

PrevView

(값 없음)

SwitchViewByID

전환할 View 대상 컨트롤의 ID

SwitchViewByIndex

전환할 View 대상 컨트롤의 인덱스 번호

다음 코드 예제에서는 세 개의 View 컨트롤이 있는 MultiView 컨트롤을 보여 줍니다. 각 View 컨트롤에는 특정 View 컨트롤로 이동하는 Button 컨트롤이 포함되어 있습니다.

<asp:MultiView ID="MultiView1"  ActiveViewIndex="0">
  <asp:View ID="View1" >
    View 1<br />
    <br />
    <asp:Button ID="Button1"  
      CommandArgument="View2" 
      CommandName="SwitchViewByID"
      Text="Go to View2" />
  </asp:View>
  <asp:View ID="View2" >
    View 2<br />
    <br />
    <asp:Button ID="Button2"  
      CommandArgument="View3" 
      CommandName="SwitchViewByID"
      Text="Go to View 3" />
  </asp:View>
  <asp:View ID="View3" >
    View 3<br />
    <br />
    <asp:Button ID="Button3"  
      CommandArgument="View1" 
      CommandName="SwitchViewByID"
      Text="Go to View 1" />
  </asp:View>
</asp:MultiView>

맨 위로 이동

코드 예제

방법: Web Forms 페이지에 MultiView 웹 서버 컨트롤 추가(Visual Studio)

맨 위로 이동

클래스 참조

다음 표에서는 MultiViewView 컨트롤과 관련된 클래스를 보여 줍니다.

멤버

설명

MultiView

MultiView 컨트롤의 기본 클래스입니다.

ViewCollection

MultiView 컨트롤에서 해당 자식 컨트롤 목록을 관리할 수 있도록 하는 컬렉션을 나타냅니다.

View

View 컨트롤의 주 클래스입니다.

MultiViewControlBuilder

MultiView 컨트롤을 빌드할 파서와 상호 작용합니다. 파생된 MultiView 컨트롤에 대한 사용자 지정 컨트롤 작성기를 만들려면 이 클래스에서 상속해야 합니다.

맨 위로 이동

참고 항목

참조

Panel 웹 서버 컨트롤 개요

Wizard 웹 서버 컨트롤 개요