MultiView 控制項可用作一個或多個 View 控制項的外部容器。而 View 控制項可以包含標記和控制項的任意組合。您可以使用 MultiView 和 View 控制項來執行各種任務,例如基於使用者選擇提供替換控制項集或者建立多頁表單。
MultiView 控制項一次顯示一個 View 控制項,並公開該 View 控制項內的標記和控制項。通過設定 MultiView 控制項的 ActiveViewIndex 屬性,可以指定當前可見的 View 控制項。
如果要切換視圖,可以使用控制項的ID或者View控制項的索引值。在 MultiView 控制項中,一次只能將一個 View 控制項定義為即時檢視。如果某個 View 控制項定義為即時檢視,它所包含的子控制項則會呈現到用戶端。可以使用 ActiveViewIndex 屬性或SetActiveView 方法定義即時檢視。如果 ActiveViewIndex 屬性為空白,則 MultiView 控制項不向用戶端轉譯任何內容。如果即時檢視設定為MultiView 控制項中不存在的 View,則會在運行時引發 ArgumentOutOfRangeException。
廢話說的有點多,直接上例子吧
建立新的 ASP.NET 網站項目
1.在[檔案] 功能表中,指向“建立”,然後選擇“網站”。
2.在“建立網站”對話方塊中,從“語言”下拉式清單中選擇 Visual C#,並選擇 ASP.NET 網站模板。
3.在“位置”中,選擇 HTTP 並鍵入網站的 URL。預設的 URL 為 http://localhost/WebSite。改為http://localhost/MultiViewTest,單擊“確定”。
4. 開啟Default.aspx設計器,切換到代碼區,Ctrl+A全選,替換為以下代碼:
複製代碼 代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_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>無標題頁</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">first</asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" onclick="LinkButton2_Click">second</asp:LinkButton>
<asp:LinkButton ID="LinkButton3" runat="server" onclick="LinkButton3_Click">third</asp:LinkButton>
<br />
<hr />
<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex = 1>
<asp:View ID="View1" runat="server">
this is the first page
</asp:View>
<asp:View ID="View2" runat="server">
this is the second page
</asp:View>
<asp:View ID="View3" runat="server">
this is the third page
</asp:View>
</asp:MultiView>
</div>
</form>
</body>
</html>
對以上代碼的解釋:
MultiView 和 View Web 伺服器控制項用作其他控制項和標記的容器,並提供了一種可方便地顯示資訊的替換視圖的方式。
MultiView 控制項用作一個或多個 View 控制項的外部容器。View 控制項又可包含標記和控制項的任何組合。
MultiView 控制項一次顯示一個 View 控制項,並公開該 View 控制項內的標記和控制項。通過設定 MultiView 控制項的ActiveViewIndex 屬性,可以指定當前可見的 View 控制項。
簡單的說,MultiView是一個父容器,它包括3個View容器。通過ActiveViewIndex=1屬性指明index為1的View容器顯示,其他兩個隱藏。(index按照view排列的順序從0開始)
5. 開啟Default.aspx.cs, 按Ctrl+A全選,刪除後替換為以下代碼:
複製代碼 代碼如下:
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
this.MultiView1.ActiveViewIndex = 0;
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
this.MultiView1.ActiveViewIndex = 1;
}
protected void LinkButton3_Click(object sender, EventArgs e)
{
this.MultiView1.ActiveViewIndex = 2;
}
}
6.儲存後按Ctrl+F5啟動運行,如果一切順利,您可以看到以下介面:
點擊first,second,third選項卡,可以切換內容。