5. 选择控件
- 选择控件有CheckBox、RadioButton、ListBox等。貌似没有什么好记的。可以通过VS开发环境琢磨之。关于List选择控件的数据绑定,后面会有专门的学习。
6. 图形控件
- 显示图像的控件有两个:Image控件和ImageMap控件。Image控件用于简单地显示图像,ImageMap控件用于创建客户端的、可点击的图像映射。
- 图像控件有三种方法来提供代替文本:
如果图片代表页面内容,就应该为AlternateText属性提供一个值,例如公司的logo图片,就可以把"公司logo"赋值给AlternateText属性。
如果图像控件表示的信息很复杂,如果柱状图、饼图或组织结构图,那么就应该为DescriptionUrl属性提供一个值,它链接到一个包含对该图片的大篇文字的描述页面。
如果纯粹是为了装饰(不显示内容),那么应该把GenerateEmptyAlternateText属性设为True,这样生成的<img>标签就会包含alt=" "属性,读屏器知道忽略alt属性为空的图片。 - ImageMap控件用于生成客户端的图像映射,点击图片的不同区域,激发事件。比如,可以把图像映射作为一个导航条使用,点击不同区域就会导航到网站的不同页面。
ImageMap控件由HotSpot类的实例组成。asp.net framework有三种HotSpot类,CircleHotSpot(定义一个圆形区域)、PolygonHotSpot(定义一个不规则形状区域)和RectangleHotSpot(定义一个矩形区域)。下面代码用ImageMap控件创建导航条。
示例代码清单1:
效果:
除了能用图像映射到不同的页面,也能用它回传到同一页面。下面代码清单2点击不同的图像表示不同的菜单项,可以改变TextBox的文本。
示例代码清单2:
效果:
7. 容器控件
- 容器控件有两个:Panel控件和PlaceHolder控件。
- Panel控件用于处理一组asp.net控件,比如,可以用Panel控件来隐藏或显示一组控件。
默认情况下,Panel控件生成<div>标签包围其内容。如果设置了GroupingText属性,就会生成<fieldset>标签。设给GroupingText属性的值出现在<fieldset>标签的<legend>标签中。
示例代码清单3:
效果: - PlaceHolder控件用于在页面上保留一个位置,以便运行时在该位置动态放置其它的控件。与Panel控件一样会生成HTML<div>标记。下面代码演示了如何向PlaceHolder容器中动态添加控件。
示例代码清单4:
8. 其他标准控件
- HyperLink控件
该控件不能进行回发,而是直接导航到目标URL。它与超链接不同的是,可以在动态的事件中改变属性。 - Table控件
该控件允许用户在asp.net页上创建可使用服务器代码进行编程的表格。与表格相关的控件有TableRow控件和TableCell控件,前者用于创建表格的行,后者用于创建表格的单元格。表格通常格式如下:
- MultiView和View控件
这两个控件作为其他控件的容器,提供了可方便地显示信息的替换视图方式。通常情况下,MultiView与View搭配使用,MultiView控件可以作为一个或多个View控件的外部容器。View控件又可包含标记和控件和任何组合。
虽然MultiView控件中可以放置多个View控件,但一次只能将一个View控件设置为当前激活状态,并公开该View控件内的标记和控件。MultiView定义格式如下:
下面实例说明MultiView和View的使用:
示例代码清单5:
- Wizard控件
即向导控件,它通过步骤收集用户的输入信息。Wizard控件使用多个步骤描绘用户数据输入的不同部分,每个步骤均会给定一个StepType属性,可以指示这一步骤是开始、中间还是完成步骤(每个步骤中可以添加不同的控件来收集用户输入信息)。可根据需要设置任意数量的中间步骤。