ASP.NET - 多檢視



MultiView 和 View 控制元件允許您將頁面內容劃分為不同的組,一次只顯示一組。每個 View 控制元件管理一組內容,所有 View 控制元件都包含在一個 MultiView 控制元件中。

MultiView 控制元件負責一次顯示一個 View 控制元件。顯示的 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 控制元件的屬性

View 和 MultiView 控制元件都派生自 Control 類,並繼承其所有屬性、方法和事件。View 控制元件最重要的屬性是 Visible 屬性,其型別為布林型,用於設定檢視的可見性。

MultiView 控制元件具有以下重要屬性

屬性 描述
Views MultiView 中的 View 控制元件集合。
ActiveViewIndex 一個基於零的索引,表示活動檢視。如果沒有任何檢視處於活動狀態,則索引為 -1。

與 MultiView 控制元件的導航關聯的按鈕控制元件的 CommandName 屬性與 MultiView 控制元件的一些相關欄位相關聯。

例如,如果一個 CommandName 值為 NextView 的按鈕控制元件與多檢視的導航關聯,則當單擊該按鈕時,它會自動導航到下一個檢視。

下表顯示了上述屬性的預設命令名稱

屬性 描述
NextViewCommandName NextView
PreviousViewCommandName PrevView
SwitchViewByIDCommandName SwitchViewByID
SwitchViewByIndexCommandName SwitchViewByIndex

Multiview 控制元件的重要方法如下

方法 描述
SetActiveview 設定活動檢視
GetActiveview 檢索活動檢視

每次更改檢視時,頁面都會回發到伺服器,並且會引發多個事件。一些重要的事件如下

事件 描述
ActiveViewChanged 更改檢視時引發
Activate 由活動檢視引發
Deactivate 由非活動檢視引發

除了上述屬性、方法和事件之外,multiview 控制元件還繼承了 control 和 object 類的成員。

示例

示例頁面包含三個檢視。每個檢視都有兩個按鈕用於在檢視之間導航。

內容檔案程式碼如下

<%@ 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,因此執行時會顯示第三個檢視。

MultiView
廣告

© . All rights reserved.