MultiView 和 View 控件和制作出選項卡的效果,MultiView 控件是一組 View 控件的容器。使用它可定義一組 View 控件,其中每個 View 控件都包含子控件。
如果要切換視圖,可以使用控件的ID或者View控件的索引值。在 MultiView 控件中,一次只能將一個 View 控件定義為活動視圖。如果某個 View 控件定義為活動視圖,它所包含的子控件則會呈現到客戶端。可以使用 ActiveViewIndex 屬性或SetActiveView 方法定義活動視圖。如果 ActiveViewIndex 屬性為空,則 MultiView 控件不向客戶端呈現任何內容。如果活動視圖設置為MultiView 控件中不存在的 View,則會在運行時引發 ArgumentOutOfRangeException。
一些常用的屬性、方法:
ActiveViewIndex屬性:用於獲取或設置當前被激活顯示的View控件的索引值。默認值為-1,表示沒有View控件被激活。
廢話不多說,由於MultiView和View比較簡單,我們一起來看以下例子吧。
創建新的 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選項卡,可以切換內容。