MultiView 및 View 컨트롤을 사용하면 페이지의 콘텐츠를 여러 그룹으로 나누고 한 번에 하나의 그룹만 표시할 수 있습니다. 각 뷰 컨트롤은 그룹의 내용을 관리하며 모든 뷰 컨트롤은 MultiView 컨트롤에 포함됩니다.
다중 뷰 컨트롤은 한 번에 하나의 뷰만 표시하는 역할을 합니다. 보기 표시를 활성 보기라고 합니다.
MultiView 컨트롤의 구문은 다음과 같습니다.
<asp:MultView ID= "MultiView1" runat= "server"></asp:MultiView>
View 컨트롤의 구문은 다음과 같습니다.
<asp:View ID= "View1" runat= "server"></asp:View>
그러나 컨트롤은 그 자체로 존재할 수 없습니다. 단독으로 사용하려고 하면 오류가 발생합니다. 항상 다중 뷰 컨트롤러와 함께 사용됩니다.
<asp:MultView ID= "MultiView1" runat= "server"> <asp:View ID= "View1" runat= "server"> </asp:View></asp:MultiView>
뷰 및 다중 뷰 컨트롤은 Control 클래스에서 파생됩니다. 모든 속성, 메서드 및 이벤트를 상속합니다. 뷰 컨트롤의 가장 중요한 속성은 뷰의 가시성을 설정하는 Visible Boolean 속성입니다.
멀티뷰 컨트롤에는 다음과 같은 중요한 기능이 있습니다.
재산 | 설명하다 |
---|---|
조회수 | 여러 뷰를 통합하는 뷰 컨트롤입니다. |
ActiveView색인 | 활성 뷰를 나타내는 0부터 시작하는 인덱스입니다. 활성화된 뷰가 없으면 인덱스 값은 -1입니다. |
MultiView 컨트롤의 탐색과 관련된 단추 컨트롤의 CommandName 속성은 MultiView 컨트롤의 일부 관련 필드와 연결됩니다.
예를 들어, 버튼 컨트롤의 CommandName 값이 여러 보기의 탐색과 관련된 경우 버튼을 클릭하면 자동으로 다음 보기로 이동합니다.
다음 표에는 위 속성에 대한 기본 명령 이름이 나와 있습니다.
요소 | 설명하다 |
---|---|
다음보기명령이름 | 다음 보기 |
이전보기명령이름 | 전설 |
SwitchViewByIDCommandName | SwitchViewByID |
SwitchViewByIndexCommandName | SwitchViewByIndex |
다중 시점 제어의 중요한 방법은 다음과 같습니다.
방법 | 설명하다 |
---|---|
활성뷰 설정 | 활성 보기 설정 |
GetActiveview | 활성 보기 검색 |
보기가 변경될 때마다 페이지가 서버에 다시 게시되고 일부 이벤트가 발생합니다. 몇 가지 중요한 이벤트는 다음과 같습니다.
이벤트 | 설명하다 |
---|---|
ActiveView가 변경되었습니다. | 뷰가 변경될 때 트리거됨 |
활성화 | 활성 보기에 의해 트리거됨 |
비활성화 | 비활성 보기에 의해 트리거됨 |
위에서 언급한 속성, 메서드 및 이벤트 외에도 다중 뷰 컨트롤은 컨트롤 및 개체 클래스의 멤버를 상속합니다.
샘플 페이지에는 세 가지 보기가 있습니다. 각 보기의 탐색 보기에는 두 개의 버튼이 있습니다.
콘텐츠 파일의 코드는 다음과 같습니다.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="multiviewdemo._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title> Untitled Page </title> </head> <body> <form id="form1" runat="server"> <div> <h2>MultiView and View Controls</h2> <asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged"> </asp:DropDownList> <hr /> <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="2" onactiveviewchanged="MultiView1_ActiveViewChanged" > <asp:View ID="View1" runat="server"> <h3>This is view 1</h3> <br /> <asp:Button CommandName="NextView" ID="btnnext1" runat="server" Text = "Go To Next" /> <asp:Button CommandArgument="View3" CommandName="SwitchViewByID" ID="btnlast" runat="server" Text ="Go To Last" /> </asp:View> <asp:View ID="View2" runat="server"> <h3>This is view 2</h3> <asp:Button CommandName="NextView" ID="btnnext2" runat="server" Text = "Go To Next" /> <asp:Button CommandName="PrevView" ID="btnprevious2" runat="server" Text = "Go To Previous View" /> </asp:View> <asp:View ID="View3" runat="server"> <h3> This is view 3</h3> <br /> <asp:Calendar ID="Calender1" runat="server"></asp:Calendar> <br /> <asp:Button CommandArgument="0" CommandName="SwitchViewByIndex" ID="btnfirst" runat="server" Text = "Go To Next" /> <asp:Button CommandName="PrevView" ID="btnprevious" runat="server" Text = "Go To Previous View" /> </asp:View> </asp:MultiView> </div> </form> </body></html>
다음 사항에 유의하세요.
MultiView.ActiveViewIndex는 표시할 뷰를 결정합니다. 이는 페이지에 렌더링된 유일한 보기입니다. 뷰가 표시되지 않을 때 ActiveViewIndex의 기본값은 -1입니다. 예제에서는 ActiveViewIndex가 2로 정의되어 있으므로 실행 시 세 번째 뷰를 표시합니다.