Учебники

ASP.NET — несколько просмотров

Элементы управления MultiView и View позволяют разделить содержимое страницы на разные группы, отображая только одну группу за раз. Каждый элемент управления View управляет одной группой содержимого, а все элементы управления View объединяются в элемент управления MultiView.

Элемент управления MultiView отвечает за одновременное отображение одного элемента управления View. Отображаемый вид называется активным видом.

Синтаксис управления MultiView:

<asp:MultView ID= "MultiView1" runat= "server">
</asp:MultiView>

Синтаксис элемента управления View:

<asp:View ID= "View1" runat= "server">
</asp:View>

Однако элемент управления View не может существовать сам по себе. Это выдает ошибку, если вы попытаетесь использовать ее отдельно. Он всегда используется с элементом управления Multiview как:

<asp:MultView ID= "MultiView1" runat= "server">
   <asp:View ID= "View1" runat= "server"> </asp:View>
</asp:MultiView>

Свойства View и MultiView Controls

Элементы управления View и MultiView являются производными от класса Control и наследуют все его свойства, методы и события. Наиболее важным свойством элемента управления View является свойство Visible типа Boolean, которое устанавливает видимость представления.

Элемент управления MultiView обладает следующими важными свойствами:

свойства Описание
Просмотры Коллекция элементов управления View в MultiView.
ActiveViewIndex Начинающийся с нуля индекс, обозначающий активное представление. Если ни один вид не активен, то индекс равен -1.

Атрибут CommandName элемента управления кнопки, связанный с навигацией элемента управления MultiView, связан с некоторым связанным полем элемента управления MultiView.

Например, если элемент управления кнопки со значением CommandName в виде NextView связан с навигацией по мультиэкрану, он автоматически переходит к следующему представлению при нажатии кнопки.

В следующей таблице приведены имена команд по умолчанию для указанных выше свойств:

свойства Описание
NextViewCommandName NEXTVIEW
PreviousViewCommandName PrevView
SwitchViewByIDCommandName SwitchViewByID
SwitchViewByIndexCommandName SwitchViewByIndex

Важными методами управления многовидом являются:

методы Описание
SetActiveview Устанавливает активный вид
GetActiveView Получает активный вид

Каждый раз, когда вид меняется, страница отправляется обратно на сервер, и возникает ряд событий. Некоторые важные события:

События Описание
ActiveViewChanged Возникает при изменении вида
активировать Поднято активным видом
дезактивировать Вызывается неактивным представлением

Помимо вышеупомянутых свойств, методов и событий, многовидовый элемент управления наследует члены элемента управления и класса объекта.

пример

Страница примера имеет три вида. Каждый вид имеет две кнопки для навигации по видам.

Код файла содержимого выглядит следующим образом:

<%@ 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 в примере, он показывает третье представление, когда выполняется.