- ASP.NET 教程
- ASP.NET - 首頁
- ASP.NET - 簡介
- ASP.NET - 環境
- ASP.NET - 生命週期
- ASP.NET - 第一個示例
- ASP.NET - 事件處理
- ASP.NET - 伺服器端
- ASP.NET - 伺服器控制元件
- ASP.NET - HTML 伺服器控制元件
- ASP.NET - 客戶端
- ASP.NET - 基本控制元件
- ASP.NET - 指令
- ASP.NET - 狀態管理
- ASP.NET - 驗證器
- ASP.NET - 資料庫訪問
- ASP.NET - ADO.net
- ASP.NET - 檔案上傳
- ASP.NET - 廣告輪播
- ASP.NET - 日曆控制元件
- ASP.NET - 多檢視
- ASP.NET - 面板控制元件
- ASP.NET - AJAX 控制元件
- ASP.NET - 資料來源
- ASP.NET - 資料繫結
- ASP.NET - 自定義控制元件
- ASP.NET - 個性化
- ASP.NET - 錯誤處理
- ASP.NET - 除錯
- ASP.NET - LINQ
- ASP.NET - 安全性
- ASP.NET - 資料快取
- ASP.NET - Web 服務
- ASP.NET - 多執行緒
- ASP.NET - 配置
- ASP.NET - 部署
- ASP.NET 資源
- ASP.NET - 快速指南
- ASP.NET - 有用資源
- ASP.NET - 討論
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,因此執行時會顯示第三個檢視。