登录 |  注册
首页 >  编程技术 >  .NET基础教程笔记集 >  ASP.NET多视图

ASP.NET多视图

多视图

MultiView 和 View 控件允许你将一个页面的内容分成不一样的组,一次只显示一组。每个视图控件管理一个组的内容,并且所有视图控件包括在 MultiView 控件中。

多视图控件一次只负责显示一个视图。视图显示称为活动视图。

MultiView 控件的语法是:

<asp:MultView ID= "MultiView1" runat= "server">
</asp:MultiView>

View 控制的语法是:

<asp:View ID= "View1" runat= "server">
</asp:View>

然而,该控件不能自行存在。如果您尝试单独使用它会出现错误。它总是和一个多视点控制器一起使用:

<asp:MultView ID= "MultiView1" runat= "server">
   <asp:View ID= "View1" runat= "server"> </asp:View>
</asp:MultiView>

View 和 MultiView 控件的属性

视图和多视图控件都来源于 Control 类。并继承其所有属性、方法和事件。视图控件的最重要属性是可视 Boolean 属性,它设置了一个视图的可见性。

多视图控件具有以下重要特性:

属性 描述
Views 集多视图在内的视图控件。
ActiveViewIndex 从零开始的索引,它表示该活动视图。如果没有视图处于活动状态,那么索引值为 -1。

与 MultiView 控件的导航相关的按钮控制 CommandName 属性都与 MultiView 控件的一些相关字段关联。

例如,如果一个按钮控制的 CommandName 值作为与多视图的导航相关,单击按钮时它会自动导航到下一个视图中。

下表显示了上述属性的默认命令名:

元素 描述
NextViewCommandName 下一视图
PreviousViewCommandName 上一视图
SwitchViewByIDCommandName SwitchViewByID
SwitchViewByIndexCommandName SwitchViewByIndex

多视点控制的重要方法是:

方法 描述
SetActiveview 设置活动视图
GetActiveview 检索活动视图

每一个视图改变时,页面被回传到服务器,同时一些事件被引发。一些重要的事件是:

事件 描述
ActiveViewChanged 当一个视图发生改变时触发
Activate 通过活跃视图触发
Deactivate 通过不活跃视图触发

除了上面提到的属性、方法和事件,多视图控件继承了控制和对象类的成员。

例子

示例页面有三个视图。每个视图的导航视图有两个按钮。

内容文件的代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="multiviewdemo._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>
         Untitled Page
      </title>
   </head>

   <body>
      <form id="form1" runat="server">

         <div>
            <h2>MultiView and View Controls</h2>

            <asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            </asp:DropDownList>

            <hr />

            <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="2"  onactiveviewchanged="MultiView1_ActiveViewChanged" >
               <asp:View ID="View1" runat="server">
                  <h2>This is view 1</h2>
                  <br />
                  <asp:Button CommandName="NextView" ID="btnnext1" runat="server" Text = "Go To Next" />
                  <asp:Button CommandArgument="View3" CommandName="SwitchViewByID" ID="btnlast" runat="server" Text  ="Go To Last" />
               </asp:View> 

               <asp:View ID="View2" runat="server">
                  <h2>This is view 2</h2>
                  <asp:Button CommandName="NextView" ID="btnnext2" runat="server" Text = "Go To Next" />
                  <asp:Button CommandName="PrevView" ID="btnprevious2" runat="server" Text = "Go To Previous View" />
               </asp:View> 

               <asp:View ID="View3" runat="server">
                  <h2> This is view 3</h2>
                  <br />
                  <asp:Calendar ID="Calender1" runat="server"></asp:Calendar>
                  <br />
                  <asp:Button  CommandArgument="0" CommandName="SwitchViewByIndex" ID="btnfirst"   runat="server" Text = "Go To Next" />
                  <asp:Button CommandName="PrevView" ID="btnprevious" runat="server" Text = "Go To Previous View" />
               </asp:View> 

            </asp:MultiView>
         </div>

      </form>
   </body>
</html>

注意以下事项:

MultiView.ActiveViewIndex 确定了哪些视图将要显示。这是页面上呈现的唯一视图。没有视图显示时 ActiveViewIndex 的默认值是 -1。 由于范例中 ActiveViewIndex 被定义为 2,所以被执行时它显示的是第三个视图。

image

上一篇: ASP.NET基础控件
下一篇: ASP.NET指令
推荐文章
  • 雪花算法(Snowflake)是由Twitter开发的一种分布式ID生成算法,旨在为分布式系统提供一种简单而有效的方式,以生成全局唯一、有序且可排序的64位整数ID。这种ID通常用作数据库记录的主键或其他需要唯一标识符的场景。雪花算法生成的64位ID结构如下:最高位(第64位):固定为0,因为64位
  • 在HTML中,如果你想让一个输入框(input元素)不可编辑,你可以通过设置其readonly属性来实现。示例如下:input type="text" value="此处内容不可编辑" readonly在上述代码中,readonly属性使得用户无法修改输入框中的内容。另外,如果你希望输入框完全不可交
  • ASP.NET教程ASP.NET又称为ASP+,基于.NETFramework的Web开发平台,是微软公司推出的新一代脚本语言。ASP.NET是一个使用HTML、CSS、JavaScript和服务器脚本创建网页和网站的开发框架。ASP.NET支持三种不一样的开发模式:WebPages(Web页面)、
  • C# 判断判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。下面是大多数编程语言中典型的判断结构的通常形式:判断语句C#提供了以下类型的判断语句。点击链接查看每个语句的细节。语句描述if语句一个 if语句 由一个布尔表达式后跟
  • C#循环有的时候,可能需要多次执行同一块代码。通常情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的通常形式:循环类型C#提供了以下几种循环类型
  • C#数组(Array)数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,一般认为数组是一个同一类型变量的集合。声明数组变量并不是声明number0、number1、...、number99一个个单独的变量,而是声明一个就像numbers这样的变量,然后使用numbers[0]
学习大纲