ASP.NET从入门到精通(第5版)
上QQ阅读APP看书,第一时间看更新

3.4 图形显示类型控件

视频讲解

3.4.1 Image控件

1. Image控件概述

Image控件用于在页面上显示图像。在使用Image控件时,可以在设计或运行时以编程方式为Image对象指定图形文件。如图3.37所示为Image控件。

Image控件的常用属性及说明如表3.23所示。

图3.37 Image控件

表3.23 Image控件的常用属性及说明

下面介绍Image控件的ImageAlign属性和ImageUrl属性。

  • ☑ ImageAlign属性

ImageAlign属性指定或确定图像相对于网页上其他元素的对齐方式。在表3.24中列出了可能的对齐方式。

表3.24 Image控件的ImageAlign属性的对齐方式

  • ☑ ImageUrl属性

ImageUrl属性用于设置在Image控件中显示图像的位置(URL)。在设置ImageUrl属性值时,可以使用相对URL,也可以使用绝对URL。相对URL使图像的位置与网页的位置相关联,当整个站点移动到服务器上的其他目录时,不需要修改ImageUrl属性值;而绝对URL使图像的位置与服务器上的完整路径相关联,当更改站点路径时,需要修改ImageUrl属性值。笔者建议,在设置Image控件的ImageUrl属性值时,使用相对URL。

2. 实现动态显示用户头像功能

【例3.15】实现动态显示用户头像功能。(示例位置:mr\TM\03\15)

下面的示例主要是通过改变Image控件的ImageUrl属性值来动态显示用户头像。执行程序,并在下拉列表框中选择“boy头像”选项,示例运行结果如图3.38所示。在下拉列表框中选择“girl头像”选项,示例运行结果如图3.39所示。

图3.38 “boy头像”显示

图3.39 “girl头像”显示

程序实现的主要步骤如下。

新建一个网站,默认主页为Default.aspx,在Default.aspx页面上添加一个DropDownList控件和一个Image控件,其属性设置及其用途如表3.25所示。

表3.25 Default.aspx页面中控件属性设置及其用途

可以在DropDownList控件的SelectedIndexChanged事件下编写如下代码,实现动态显示用户头像:

说明

在使用Image控件时,一般情况下要设置其AlternateText属性(在图像无法显示时显示的替换文字);设置此属性后,浏览网页时,当鼠标放置在控件上也会显示说明文字。

3.4.2 ImageMap控件

1. ImageMap控件概述

ImageMap控件允许在图片中定义一些热点(HotSpot)区域。当用户单击这些热点区域时,将会引发超链接或者单击事件。当需要对某幅图片的局部实现交互时,使用ImageMap控件,如以图片形式展示网站地图和流程图等。如图3.40所示为ImageMap控件。

图3.40 ImageMap控件

(1)ImageMap控件的常用属性

ImageMap控件的常用属性及说明如表3.26所示。

表3.26 ImageMap控件的常用属性及说明

ImageMap控件比较重要的两个属性是HotSpotMode属性和HotSpots属性。下面分别进行介绍。

  • ☑ HotSpotMode属性

HotSpotMode属性用于获取或者设置单击热点区域后的默认行为方式。在表3.27中列出了HotSpotMode属性的枚举值。

表3.27 ImageMap控件的HotSpotMode属性的枚举值

注意

HotSpotMode属性虽然为图片中所有热点区域定义了单击事件的默认行为方式,然而,在某些情况下图片中热点区域的行为方式各不相同,需要单独为每个热点区域定义HotSpotMode属性及其相关属性。

  • ☑ HotSpots属性

HotSpots属性用于获取HotSpots对象集合。HotSpot类是一个抽象类,它包含CircleHotSpot(圆形热区)、RectangleHotSpot(方形热区)和PolygonHotSpot(多边形热区)3个子类,这些子类的实例称为HotSpot对象。创建HotSpot对象的步骤如下。

①在ImageMap控件上右击,在弹出的快捷菜单中选择“属性”命令,弹出属性面板。

②在属性面板中,单击HotSpots属性后的按钮,将弹出“HotSpot集合编辑器”对话框,如图3.41所示。单击“添加”按钮后的按钮,将弹出一个下拉菜单,其中包括CircleHotSpot(圆形热区)、RectangleHotSpot(方形热区)和PolygonHotSpot(多边形热区)3个对象,可以通过单击添加对象。

图3.41 HotSpot集合编辑器

③为热点(HotSpot)区域设置属性。

在定义每个热点区域的过程中,主要设置两个属性。一个是HotSpotMode及其相关属性。HotSpot对象中的HotSpotMode属性用于为单个热点区域设置单击后的显示方式,与ImageMap控件的HotSpotMode属性基本相同。例如,当将HotSpotMode属性值设置为PostBack时,则必须设置定义回传值的PostBackValue属性;另一个是热点区域坐标属性。对于CircleHotSpot(圆形热区),需要设置半径Radius和圆心坐标X和Y,对于RectangleHotSpot(方形热区),需要设置其左、上、右、下的坐标,即Left、Top、Right、Bottom属性,对于PolygonHotSpot(多边形热区),需要设置每一个关键点的坐标Coordinates属性。

④单击“确定”按钮,创建完成。

(2)ImageMap控件的常用事件

ImageMap控件的常用事件是Click事件,该事件在用户单击热点区域时发生。当将HotSpotMode属性设置为PostBack时,需要定义并实现该事件的处理程序。

2. 使用ImageMap控件展示图片中的方位

【例3.16】使用ImageMap控件展示图片中的方位。(示例位置:mr\TM\03\16)

下面的示例主要是使用ImageMap控件展示图片中的方位。执行程序,示例运行结果如图3.42所示,在图片中单击西北方向,在界面中,将显示“您现在所指的方向是:西北方向。”字样,如图3.43所示。

图3.42 示例运行结果

图3.43 指向“西北方向”

程序实现的主要步骤如下。

(1)新建一个网站,默认主页为Default.aspx,在Default.aspx页面上添加一个ImageMap控件,其属性设置如表3.28所示。

表3.28 ImageMap控件属性设置

(2)定义3个RectangleHotSpot(方形热区),并为每个热点区设置相关的属性。

在属性面板中,单击HotSpots属性后的按钮,弹出“HotSpot集合编辑器”对话框,在其中单击“添加”按钮后的按钮,在弹出的下拉菜单中单击4个RectangleHotSpot(方形热区)项,并设置其左(Left)、上(Top)、右(Right)和下(Bottom)的坐标值,4个热点区的属性设置如下。

  • ☑ 显示“西北”方向的RectangleHotSpot(方形热区)的属性设置

将Bottom设置为100,将Right设置为100,将HotSpotMode设置为PostBack,将PostBackValue设置为NW,将AlternateText设置为“西北”。

  • ☑ 显示“东北”方向的RectangleHotSpot(方形热区)的属性设置

将Bottom设置为100,将Left设置为100,将Right设置为100,将HotSpotMode设置为PostBack,将PostBackValue设置为NE,将AlternateText设置为“东北”。

  • ☑ 显示“西南”方向的RectangleHotSpot(方形热区)的属性设置

将Bottom设置为200,将Right设置为100,将Top设置为100,将HotSpotMode设置为PostBack,将PostBackValue设置为SW,将AlternateText设置为“西南”。

  • ☑ 显示“东南”方向的RectangleHotSpot(方形热区)的属性设置

将Bottom设置为200,将Left设置为100,将Right设置为200,将Top设置为100,将HotSpotMode设置为PostBack,将PostBackValue设置为SE,将AlternateText设置为“东南”。

注意

对于ImageMap控件的属性设置,也可以通过在HTML视图中添加如下代码来实现。

(3)为了实现在单击图片中的热点区域时,将图片的方位显示出来,需要在ImageMap控件的Click事件下添加如下代码: