MultiView 和 View 控件和制作出选项卡的效果MultiView 控件是一组 View 控件的容器使用它可定义一组 View 控件其中每个 View 控件都包含子控件
如果要切换视图可以使用控件的ID或者View控件的索引值在 MultiView 控件中一次只能将一个 View 控件定义为活动视图如果某个 View 控件定义为活动视图它所包含的子控件则会呈现到客户端可以使用 ActiveViewIndex 属性或SetActiveView 方法定义活动视图如果 ActiveViewIndex 属性为空则 MultiView 控件不向客户端呈现任何内容如果活动视图设置为MultiView 控件中不存在的 View则会在运行时引发 ArgumentOutOfRangeException
一些常用的属性方法
ActiveViewIndex属性用于获取或设置当前被激活显示的View控件的索引值默认值为-表示没有View控件被激活
废话不多说由于MultiView和View比较简单我们一起来看以下例子吧
创建新的 ASPNET 网站项目
在文件菜单中指向新建然后选择网站
在新建网站对话框中从语言下拉列表中选择 Visual C#并选择 ASPNET 网站模板
在位置中选择 HTTP 并键入网站的 URL默认的 URL 为//localhost/WebSite改//localhost/MultiViewTest单击确定
打开Defaultaspx设计器切换到代码区Ctrl+A全选替换为以下代码
<%@ Page Language=C# AutoEventWireup=true CodeFile=Defaultaspxcs Inherits=_Default %>
<!DOCTYPE html PUBLIC //WC//DTD XHTML Transitional//EN transitionaldtd>
<html xmlns=>
<head runat=server>
<title>无标题页</title>
</head>
<body>
<form id=form runat=server>
<div>
<asp:LinkButton ID=LinkButton runat=server onclick=LinkButton_Click>first</asp:LinkButton>
<asp:LinkButton ID=LinkButton runat=server onclick=LinkButton_Click>second</asp:LinkButton>
<asp:LinkButton ID=LinkButton runat=server onclick=LinkButton_Click>third</asp:LinkButton>
<br />
<hr />
<asp:MultiView ID=MultiView runat=server ActiveViewIndex = >
<asp:View ID=View runat=server>
this is the first page
</asp:View>
<asp:View ID=View runat=server>
this is the second page
</asp:View>
<asp:View ID=View 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是一个父容器它包括个View容器通过ActiveViewIndex=属性指明index为的View容器显示其他两个隐藏(index按照view排列的顺序从开始)
打开Defaultaspxcs 按Ctrl+A全选删除后替换为以下代码
using System;
using SystemConfiguration;
using SystemData;
using SystemLinq;
using SystemWeb;
using SystemWebSecurity;
using SystemWebUI;
using SystemWebUIHtmlControls;
using SystemWebUIWebControls;
using SystemWebUIWebControlsWebParts;
using SystemXmlLinq;
public partial class _Default : SystemWebUIPage
{
protected void Page_Load(object sender EventArgs e)
{
}
protected void LinkButton_Click(object sender EventArgs e)
{
thisMultiViewActiveViewIndex = ;
}
protected void LinkButton_Click(object sender EventArgs e)
{
thisMultiViewActiveViewIndex = ;
}
protected void LinkButton_Click(object sender EventArgs e)
{
thisMultiViewActiveViewIndex = ;
}
}
保存后按Ctrl+F启动运行如果一切顺利您可以看到以下界面
点击firstsecondthird选项卡可以切换内容