转自MS.Tech
ImageMap控件是一个让你可以在图片上定义热点(HotSpot)区域的服务器控件。用户可以通过点击这些热点区域进行回发(PostBack)操作或者定向(Navigate)到某个URL位址。该控件一般用在需要对某张图片的局部范围进行互动操作时,其主要属性有HotSpotMode、HotSpots和主要操作Click。<o:p></o:p>
<o:p> </o:p>
? HotSpotMode:顾名思义为热点模式,对应枚举类型System.Web.UI.WebControls.HotSpotMode。其选项及说明如下:<o:p></o:p>
1) NotSet:未设置项。虽然名为未设置,但其实默认情况下会执行定向操作,定向到你指定的URL位址去。如果你未指定URL位址,那默认将定向到自己的Web应用程序根目录。<o:p></o:p>
2) Navigate:定向操作项。定向到指定的URL位址去。如果你未指定URL位址,那默认将定向到自己的Web应用程序根目录。<o:p></o:p>
3) PostBack:回发操作项。点击热点区域后,将执行后部的Click事件。<o:p></o:p>
4) Inactive:无任何操作,即此时形同一张没有热点区域的普通图片。<o:p></o:p>
? HotSpots:该属性对应着System.Web.UI.WebControls.HotSpot对象集合。HotSpot类是一个抽象类,它之下有CircleHotSpot(圆形热区)、RectangleHotSpot(方形热区)和PolygonHotSpot(多边形热区)三个子类。实际应用中,都可以使用上面三种类型来定制图片的热点区域。如果需要使用到自定义的热点区域类型时,该类型必须继承HotSpot抽象类。下面即有个自定义的菱形热区DiamondHotSpot范例可以参考。<o:p></o:p>
? Click:对热点区域的点击操作。通常在HotSpotMode为PostBack时用到。<o:p></o:p>
<o:p> </o:p>
对ImageMap控件有了以上一个基本了解后,接着看ASP.NET QuickStart提供个两个应用示例和最后一个自定义菱形热区示例就会有所体会了。
<o:p> </o:p>
示例一:ImageMap 多种HotSpotMode 示例<o:p></o:p>
<o:p> </o:p>
<%@ Page Language="C#" %><o:p></o:p>
<!DOCTYPE html PUBLIC "-//W<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="C">3C</st1:chmetcnv>//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><o:p></o:p>
<script runat="server"><o:p></o:p>
<o:p> </o:p>
</script><o:p></o:p>
<html xmlns="http://www.w3.org/1999/xhtml" ><o:p></o:p>
<head runat="server"><o:p></o:p>
<title>Untitled Page</title><o:p></o:p>
</head><o:p></o:p>
<body><o:p></o:p>
<form id="form1" runat="server"><o:p></o:p>
<div><o:p></o:p>
<h3><font face="Verdana">ImageMap 多种 HotSpotMode 示例</font></h3><o:p></o:p>
<o:p></o:p>
<asp:imagemap id="Buttons" imageurl="hotspot.jpg" alternatetext="Navigate buttons"<o:p></o:p>
runat="Server"> <o:p></o:p>
<o:p></o:p>
<asp:RectangleHotSpot<o:p></o:p>
hotspotmode="Navigate"<o:p></o:p>
NavigateUrl="navigate1.htm"<o:p></o:p>
alternatetext="Button 1"<o:p></o:p>
top="30"<o:p></o:p>
left="175"<o:p></o:p>
bottom="110"<o:p></o:p>
right="355"><o:p></o:p>
</asp:RectangleHotSpot><o:p></o:p>
<o:p></o:p>
<asp:RectangleHotSpot <o:p></o:p>
hotspotmode="Navigate"<o:p></o:p>
NavigateUrl="navigate2.htm"<o:p></o:p>
alternatetext="Button 2" <o:p></o:p>
top="155"<o:p></o:p>
left="175"<o:p></o:p>
bottom="240"<o:p></o:p>
right="355"> <o:p></o:p>
</asp:RectangleHotSpot><o:p></o:p>
<o:p></o:p>
<asp:RectangleHotSpot<o:p></o:p>
hotspotmode="Navigate"<o:p></o:p>
NavigateUrl="navigate3.htm"<o:p></o:p>
alternatetext="Button 3" <o:p></o:p>
top="285"<o:p></o:p>
left="175"<o:p></o:p>
bottom="365"<o:p></o:p>
right="355"><o:p></o:p>
</asp:RectangleHotSpot> <o:p></o:p>
<o:p></o:p>
</asp:imagemap><o:p></o:p>
<o:p> </o:p>
</div><o:p></o:p>
</form><o:p></o:p>
</body><o:p></o:p>
</html><o:p></o:p>
<o:p> </o:p>
示例二:ImageMap PostBack 模型示例<o:p></o:p>
<o:p> </o:p>
<%@ Page Language="C#" %><o:p></o:p>
<!DOCTYPE html PUBLIC "-//W<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="C">3C</st1:chmetcnv>//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><o:p></o:p>
<script runat="server"><o:p></o:p>
void Buttons_Clicked(object sender, ImageMapEventArgs e)<o:p></o:p>
{<o:p></o:p>
label1.Text = e.PostBackValue + " clicked!";<o:p></o:p>
}<o:p></o:p>
</script><o:p></o:p>
<html xmlns="http://www.w3.org/1999/xhtml"><o:p></o:p>
<head runat="server"><o:p></o:p>
<title>Untitled Page</title><o:p></o:p>
</head><o:p></o:p>
<body><o:p></o:p>
<form id="form1" runat="server"><o:p></o:p>
<div><o:p></o:p>
<h3><o:p></o:p>
<font face="Verdana">ImageMap PostBack 模型示例</font></h3><o:p></o:p>
<asp:imagemap id="Buttons" imageurl="hotspot.jpg" alternatetext="Navigate buttons"<o:p></o:p>
hotspotmode="Postback" onclick="Buttons_Clicked" runat="Server"> <o:p></o:p>
<o:p></o:p>
<asp:RectangleHotSpot<o:p></o:p>
hotspotmode="Postback"<o:p></o:p>
postbackvalue="Button1"<o:p></o:p>
alternatetext="Button 1"<o:p></o:p>
top="30"<o:p></o:p>
left="175"<o:p></o:p>
bottom="110"<o:p></o:p>
right="355"><o:p></o:p>
</asp:RectangleHotSpot><o:p></o:p>
<o:p></o:p>
<asp:RectangleHotSpot <o:p></o:p>
hotspotmode="Postback"<o:p></o:p>
postbackvalue="Button2"<o:p></o:p>
分享到:
相关推荐
ASP.NET 2.0新增了50多个新服务器控件,类的数量也翻了一倍,其他许多方面也有很大的变化。本书介绍了ASP.NET 2.0中的每个新增特性和功能,以便读者把这些新技术应用于实践。.. 本书主要内容 ● 服务器控件的...
本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...
1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...
1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...
3.4 ASP.NET2.0新增控件 45 3.4.1 ImageMap控件 45 3.4.2 FileUpload控件 48 3.5 客户端处理 52 3.5.1 第一种方式示例: 52 3.5.2第二种方式:动态注册javascript指令块 53 3.6验证控件 54 3.6.1验证控件简介 54 ...
**3.4 ASP.NET 2.0 新增控件** - **ImageMap控件**:描述如何使用此控件创建图像热点。 - **FileUpload控件**:进一步讲解文件上传控件的使用方法。 **3.5 客户端处理** - **第一种方式示例**:展示如何直接在...
1.2.2 ASP.NET2.0 1.2.3 ASP.NET3.5 1.2.4 ASP.NET4 1.2.5 Silverlight 1.3 总结 第2章 Visual Studio 2.1 Visual Studio 2.1.1 网站和Web项目 2.1.2 创建无项目文件的网站 2.1.3 设计网页 2.2...
1.1.5 ASP.NET 3.5 新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET 应用程序需框架 1.2.1 什么是.NET 应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装...
1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...
1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...
1.2.2 ASP.NET2.0 9 1.2.3 ASP.NET3.5 10 1.2.4 ASP.NET4 12 1.2.5 Silverlight 14 1.3 总结 15 第2章 Visual Studio 16 2.1 Visual Studio 16 2.1.1 网站和Web项目 17 2.1.2 创建无项目文件的...
1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual ...