3.6 容器控件
容器控件在页面中的作用相当于一个容器,容器控件是没有显示样式的,但容器控件可将其他控件(如前面几节介绍的控件)包含在内,形成一个分组,并对其内部的控件单独执行。
容器控件可以作为Web服务器控件、HTML服务器控件和HTML元素对象的父控件,ASP.NET中提供了多个与容器相关的控件,本节将介绍最常用的两个控件:MultiView控件和Panel控件。
3.6.1 Panel控件
Panel控件是容器控件的一种,可以容纳其他控件,并将其子控件组合为一个整体。Panel控件通常会被称作面板。Panel控件在工具箱中的符号为。
Panel控件在3.2.2节中使用过,即向Panel控件中添加Literal控件,Literal控件是可以通过代码添加在容器中的。
当开发人员需要以编程的方式创建内容并需要一种将内容插入到页中的方法时,Panel控件最为适用。该控件的常用三种方式如下。
(1)容纳其他控件,将其他控件组合为一个整体进行管理。
(2)可以在Panel内设置默认按钮,当用户在Panel面板的文本框输入时按Enter键,这与用户单击特定的默认按钮具有相同的效果。
(3)部分控件(如TreeView)没有内置的滚动条,通过在Panel控件中放置滚动条控件可以添加滚动行为。同时可以使用Panel控件的Height和Width属性添加滚动条,将Panel控件设置为特定的大小,然后再设置ScrollBars属性。
Panel控件有多个属性分别设置控件的外观和文本方向等数据,如表3-12所示为Panel控件的常用属性。
表3-12 Panel控件的常用属性
注意
不能够在Panel控件中同时指定滚动条和分组文本,如果设置了分组文本,其优先级高于滚动条。
3.6.2 MultiView控件
MultiView控件通常用作View控件组的容器。它允许开发人员定义一组有着子控件的View控件。
MultiView和View控件用作其他控件的容器,并提供一种视图切换方式。MultiView和View控件结合,可制作出选项卡的效果。MultiView在工具箱中的符号为,可执行以下两个任务。
(1)根据用户选择或其他条件提供备选控件集。
(2)创建多页窗体。
由于MultiView控件通常和View控件一起使用,因此该控件通常被称作多视图控件。一个MultiView中可以包含多个View控件,但是MultiView控件的当前活动控件只能是这些View控件中的一个。无论是MultiView控件还是各个View控件,除了当前View控件的内容外,都不会在页面中显示任何标记。
MultiView控件最常用的属性有两个:ActiveViewIndex和Views。ActiveViewIndex用来获取或设置MultiView控件的活动View控件的索引;而Views控件用来获取MultiView控件的View控件的集合。
设置MultiView控件的ActiveViewIndex属性可以在视图间移动。另外,MultiView控件还支持可以添加到每个View控件的导航按钮。如果要创建导航按钮,可以向每个View控件添加一个按钮控件(Button、LinkButton或ImageButton)。然后可以将每个按钮的CommandName和CommandArgument属性设置为保留值,这些保留值以使MultiView控件移动到另一个视图。如表3-13所示列出了CommandName值和相对应的CommandArgument值。
表3-13 CommandName和CommandArgument值