![ASP.NET从入门到精通(第5版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/771/27111771/b_27111771.jpg)
3.4 图形显示类型控件
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P92_86638.jpg?sign=1738929008-lR3smuE9uy0QfRd5dszcpN10mHSd67DV-0-4c1f8af787757b4c7fa5b8929a447bb4)
视频讲解
3.4.1 Image控件
1. Image控件概述
Image控件用于在页面上显示图像。在使用Image控件时,可以在设计或运行时以编程方式为Image对象指定图形文件。如图3.37所示为Image控件。
Image控件的常用属性及说明如表3.23所示。
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P92_86644.jpg?sign=1738929008-olkvUhelydNJg4P0L0Z1TzRjAX2lVfaQ-0-fdcaeff758aa9c51eb7d130c78dc4187)
图3.37 Image控件
表3.23 Image控件的常用属性及说明
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T92_86647.jpg?sign=1738929008-neU4IE0CmMCTtp5GmTkrtbzey7eGXgFT-0-3acb6795a7ac602b9f1c51376cccd2f5)
下面介绍Image控件的ImageAlign属性和ImageUrl属性。
- ☑ ImageAlign属性
ImageAlign属性指定或确定图像相对于网页上其他元素的对齐方式。在表3.24中列出了可能的对齐方式。
表3.24 Image控件的ImageAlign属性的对齐方式
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T92_86650.jpg?sign=1738929008-cM0Fn2Z1sllahHwSQQXMhCShyLda491S-0-82dceafb8a3dc1030c5da24438623e01)
- ☑ 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所示。
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P93_17959.jpg?sign=1738929008-w1E8krYubAbSBYtwl8FfxGAT9CtBCTMr-0-0ea8c83dcc4793613fff9e9d751c3efb)
图3.38 “boy头像”显示
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P93_17964.jpg?sign=1738929008-sAWiB8jUszwyJOwjJqj7EdEzKTiQjBrW-0-066b3f81fcd080332aead53d7a2e28cd)
图3.39 “girl头像”显示
程序实现的主要步骤如下。
新建一个网站,默认主页为Default.aspx,在Default.aspx页面上添加一个DropDownList控件和一个Image控件,其属性设置及其用途如表3.25所示。
表3.25 Default.aspx页面中控件属性设置及其用途
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T93_18111.jpg?sign=1738929008-mQSAornM6IMdiKsHR7ujYaKXfaSH5yH0-0-58ac3828568f402cc550d047953d1815)
可以在DropDownList控件的SelectedIndexChanged事件下编写如下代码,实现动态显示用户头像:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P93_86658.jpg?sign=1738929008-eJWC1qjI1KMkVyImb3zNmE794kuy7wwJ-0-a7f5d69dc94bd6adaa9fe0282dff1100)
说明
在使用Image控件时,一般情况下要设置其AlternateText属性(在图像无法显示时显示的替换文字);设置此属性后,浏览网页时,当鼠标放置在控件上也会显示说明文字。
3.4.2 ImageMap控件
1. ImageMap控件概述
ImageMap控件允许在图片中定义一些热点(HotSpot)区域。当用户单击这些热点区域时,将会引发超链接或者单击事件。当需要对某幅图片的局部实现交互时,使用ImageMap控件,如以图片形式展示网站地图和流程图等。如图3.40所示为ImageMap控件。
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P94_86664.jpg?sign=1738929008-uzrxPHi7piwaoZ0xOyDEo3WUoNMi94sT-0-3f03c7a87af634cd2308f6932b10dfed)
图3.40 ImageMap控件
(1)ImageMap控件的常用属性
ImageMap控件的常用属性及说明如表3.26所示。
表3.26 ImageMap控件的常用属性及说明
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T94_86669.jpg?sign=1738929008-P44yUFn4gJMyomgz4gSCwz6PpJVUSauD-0-28346588ed8ee9514e198dd1dcfac997)
ImageMap控件比较重要的两个属性是HotSpotMode属性和HotSpots属性。下面分别进行介绍。
- ☑ HotSpotMode属性
HotSpotMode属性用于获取或者设置单击热点区域后的默认行为方式。在表3.27中列出了HotSpotMode属性的枚举值。
表3.27 ImageMap控件的HotSpotMode属性的枚举值
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T94_86672.jpg?sign=1738929008-yW7cUprVZ43P7lkFiLbobu2oQv5joqNr-0-414f10249350411ff3d2dc14e5da8edd)
注意
HotSpotMode属性虽然为图片中所有热点区域定义了单击事件的默认行为方式,然而,在某些情况下图片中热点区域的行为方式各不相同,需要单独为每个热点区域定义HotSpotMode属性及其相关属性。
- ☑ HotSpots属性
HotSpots属性用于获取HotSpots对象集合。HotSpot类是一个抽象类,它包含CircleHotSpot(圆形热区)、RectangleHotSpot(方形热区)和PolygonHotSpot(多边形热区)3个子类,这些子类的实例称为HotSpot对象。创建HotSpot对象的步骤如下。
①在ImageMap控件上右击,在弹出的快捷菜单中选择“属性”命令,弹出属性面板。
②在属性面板中,单击HotSpots属性后的按钮,将弹出“HotSpot集合编辑器”对话框,如图3.41所示。单击“添加”按钮后的
按钮,将弹出一个下拉菜单,其中包括CircleHotSpot(圆形热区)、RectangleHotSpot(方形热区)和PolygonHotSpot(多边形热区)3个对象,可以通过单击添加对象。
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P95_86679.jpg?sign=1738929008-8aAV2UkmNpszjFCXbzIvgk7WOxnQBOrB-0-ba120db314e21f5c368fe30a73cc1b9a)
图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所示。
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P96_86680.jpg?sign=1738929008-yWUAzUYc54Sjq9XkcoD1A2erzhu87eUT-0-d9fba07249c0ea88934e7050813043c5)
图3.42 示例运行结果
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P96_18294.jpg?sign=1738929008-Hlu0zoTXnKN6TGIhVTWG6EaIzN5J2yrg-0-6e0035b90c76b879e64ea09d17655f0e)
图3.43 指向“西北方向”
程序实现的主要步骤如下。
(1)新建一个网站,默认主页为Default.aspx,在Default.aspx页面上添加一个ImageMap控件,其属性设置如表3.28所示。
表3.28 ImageMap控件属性设置
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T96_18344.jpg?sign=1738929008-XTb8XLyloOAxZCOuU1mcAn3zLEvcF9br-0-edd0a9c4c255a2ead5301b90b740bb04)
(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视图中添加如下代码来实现。
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P97_90590.jpg?sign=1738929008-EJkYUNCj3Qph8f1o2FxCA7ws4Y63nMbF-0-ce1e618ed0948c4fe25eb164895d7cf9)
(3)为了实现在单击图片中的热点区域时,将图片的方位显示出来,需要在ImageMap控件的Click事件下添加如下代码:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P97_86696.jpg?sign=1738929008-jn24XJE2ZLAQq7BuxO85tMH7CVuJx7SL-0-33a708fb395665bbbb4856e1125eb427)