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全选,替换为以下代码:
<%
@ 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选项卡,可以切换内容。
http://blog.csdn.net/huc87/archive/2009/03/06/3962677.aspx