【转】ASP.NET服务器控件使用之MultiView和View
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全选,替换为以下代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 2 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <title>无标题页</title> 8 </head> 9 <body> 10 <form id="form1" runat="server"> 11 <div> 12 <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">first</asp:LinkButton> 13 <asp:LinkButton ID="LinkButton2" runat="server" onclick="LinkButton2_Click">second</asp:LinkButton> 14 <asp:LinkButton ID="LinkButton3" runat="server" onclick="LinkButton3_Click">third</asp:LinkButton> 15 <br /> 16 <hr /> 17 <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex = 1> 18 <asp:View ID="View1" runat="server"> 19 this is the first page 20 </asp:View> 21 <asp:View ID="View2" runat="server"> 22 this is the second page 23 </asp:View> 24 <asp:View ID="View3" runat="server"> 25 this is the third page 26 </asp:View> 27 </asp:MultiView> 28 </div> 29 </form> 30 </body> 31 </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全选,删除后替换为以下代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 using System; 2 using System.Configuration; 3 using System.Data; 4 using System.Linq; 5 using System.Web; 6 using System.Web.Security; 7 using System.Web.UI; 8 using System.Web.UI.HtmlControls; 9 using System.Web.UI.WebControls; 10 using System.Web.UI.WebControls.WebParts; 11 using System.Xml.Linq; 12 13 public partial class _Default : System.Web.UI.Page 14 { 15 protected void Page_Load(object sender, EventArgs e) 16 { 17 18 } 19 protected void LinkButton1_Click(object sender, EventArgs e) 20 { 21 this.MultiView1.ActiveViewIndex = 0; 22 } 23 protected void LinkButton2_Click(object sender, EventArgs e) 24 { 25 this.MultiView1.ActiveViewIndex = 1; 26 } 27 protected void LinkButton3_Click(object sender, EventArgs e) 28 { 29 this.MultiView1.ActiveViewIndex = 2; 30 } 31 }
6.保存后按Ctrl+F5启动运行,如果一切顺利,您可以看到以下界面:
点击first,second,third选项卡,可以切换内容。
来源:http://blog.csdn.net/huc87/article/details/3962677
说的确实是比较浅显易懂,可以保留下来以备查阅。