鍍金池/ 教程/ C#/ 多視圖
調試
管理狀態(tài)
Panel 控件
Web 服務
語言集成查詢
數(shù)據源
基礎控件
廣告輪轉器
服務器端
服務器控件
ADO.NET
多線程
HTML 服務器
生命周期
Ajax 控制
客戶端
異常處理
環(huán)境設置
部署
個性化
驗證器
多視圖
日歷
文件上傳
ASP.NET - 數(shù)據綁定
數(shù)據庫存取
實例
自定義控件
簡介
配置
數(shù)據緩存
安全性
指令
事件處理

多視圖

MultiView 和 View 控件允許你將一個頁面的內容分成不同的組,一次只顯示一組。每個視圖控件管理一個組的內容,并且所有視圖控件包括在 MultiView 控件中。

多視圖控件一次只負責顯示一個視圖。視圖顯示稱為活動視圖。

MultiView 控件的語法是:

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

View 控制的語法是:

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

然而,該控件不能自行存在。如果您嘗試單獨使用它會出現(xiàn)錯誤。它總是和一個多視點控制器一起使用:

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

View 和 MultiView 控件的屬性

視圖和多視圖控件都來源于 Control 類。并繼承其所有屬性、方法和事件。視圖控件的最重要屬性是可視 Boolean 屬性,它設置了一個視圖的可見性。

多視圖控件具有以下重要特性:

屬性 描述
Views 集多視圖在內的視圖控件。
ActiveViewIndex 從零開始的索引,它表示該活動視圖。如果沒有視圖處于活動狀態(tài),那么索引值為 -1。

與 MultiView 控件的導航相關的按鈕控制 CommandName 屬性都與 MultiView 控件的一些相關字段關聯(lián)。

例如,如果一個按鈕控制的 CommandName 值作為與多視圖的導航相關,單擊按鈕時它會自動導航到下一個視圖中。

下表顯示了上述屬性的默認命令名:

元素 描述
NextViewCommandName 下一視圖
PreviousViewCommandName 上一視圖
SwitchViewByIDCommandName SwitchViewByID
SwitchViewByIndexCommandName SwitchViewByIndex

多視點控制的重要方法是:

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

每一個視圖改變時,頁面被回傳到服務器,同時一些事件被引發(fā)。一些重要的事件是:

事件 描述
ActiveViewChanged 當一個視圖發(fā)生改變時觸發(fā)
Activate 通過活躍視圖觸發(fā)
Deactivate 通過不活躍視圖觸發(fā)

除了上面提到的屬性、方法和事件,多視圖控件繼承了控制和對象類的成員。

例子

示例頁面有三個視圖。每個視圖的導航視圖有兩個按鈕。

內容文件的代碼如下:

<%@ 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 確定了哪些視圖將要顯示。這是頁面上呈現(xiàn)的唯一視圖。沒有視圖顯示時 ActiveViewIndex 的默認值是 -1。 由于范例中 ActiveViewIndex 被定義為 2,所以被執(zhí)行時它顯示的是第三個視圖。

http://wiki.jikexueyuan.com/project/asp-net/images/multiview.jpg" alt="image" />

上一篇:多線程下一篇:配置