利用 ASP.NET ImageMap 控件可以创建一个图像,使其包含许多可由用户单击的区域(热区),这些区域称为“作用点”。每一个作用点都可以是一个单独的超链接或回发事件。
常用属性:
HotSpotMode属性
HotSpotMode属性用于获取或设置单击热点区域后的默认行为方式。
ImageMap控件的HotSpotMode属性的枚举值如下表所示:
枚举值 |
说明 |
Inactive |
无任何操作,即此时就像一张没有热点区域的普通图片 |
NotSet |
未设置项,同时也是默认项。虽然名为未设置,但是默认情况下将执行定向操作,即链接到指定的URL地址。如果未指定URL地址,则默认链接到应用程序根目录下 |
Navigate |
定向操作项。链接到指定的URL地址。如果未指定URL地址,则默认链接到应用程序根目录下 |
PostBack |
回传操作项。单击热点区域后,将触发控件的Click事件 |
注意:HotSpotMode属性虽然为图片中所有热点区域定义了单击事件的默认行为方式,但在某些情况下,由于图片中热点区域的行为方式各不相同,所以还需要单独为每个热点区域定义HotSpotMode属性及其相关属性。
HotSpots属性
HotSpots属性用于获取HotSpots对象集合。
ImageMap控件由HotSpot类的实例组成。一个HotSpot定义图像映射中的一个可点击区域。ASP.NET Framework带有3种HotSpot类。
CircleHotSpot:用于在图像映射中定义一个圆形区域。
RectangleHotSpot:用于在图像映射中定义一个矩形区域。
PolygonHotSpot:用于在图像映射中定义一个不规则形状区域。
CircleHotSpot、RectangleHotSpot和PolygonHotSpot这3个子类的实例称为HotSpot对象。
示例代码:
Default.aspx
复制代码 代码如下:
%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head runat="server">
title>示例8-4/title>
link id="InstanceStyle" href="StyleSheet.css" type="text/css" rel="stylesheet" />
/head>
body>
form id="Form1" runat="server">
div>
fieldset style="width: 290px">
legend class="mainTitle">ImageMap控件典型应用/legend>
br />
asp:ImageMap ID="ImageMap1" runat="server" ImageUrl="~/Image/pic1.png" OnClick="ImageMap1_Click">
asp:RectangleHotSpot AlternateText="模块" Bottom="175" Left="77" NavigateUrl="http://localhost/"
Right="150" Target="_blank" Top="119" />
asp:CircleHotSpot AlternateText="处理1" HotSpotMode="PostBack" PostBackValue="Pro1"
Radius="39" X="241" Y="50" />
asp:CircleHotSpot AlternateText="处理2" HotSpotMode="PostBack" PostBackValue="Pro2"
Radius="39" X="241" Y="285" />
asp:PolygonHotSpot AlternateText="引擎" Coordinates="366,118,325,160,372,206,411,161"
HotSpotMode="Inactive" />
/asp:ImageMap>
br />
asp:Label ID="LabMessage" runat="server">/asp:Label>
/fieldset>
/div>
/form>
/body>
/html>
Default.aspx.cs
复制代码 代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ImageMap1_Click(object sender, ImageMapEventArgs e)
{
String region = "";
switch (e.PostBackValue)
{
case "Pro1":
region = "处理1";
break;
case "Pro2":
region = "处理2";
break;
}
LabMessage.Text = "您单击的是b>" + region + "/b>.";
}
}
您可能感兴趣的文章:- ASP.Net PlaceHolder、Panel等控件未实现INamingContainer,导致FindControl无效
- ASP.NET中CheckBoxList复选框列表控件详细使用方法
- ASP.NET中DropDownList下拉框列表控件绑定数据的4种方法
- ASP.NET中FileUpload文件上传控件应用实例
- ASP.NET中HiddenField隐藏域控件的使用方法
- ASP.NET中Image控件使用详解
- ASP.NET中ImageButton图片按钮控件的使用
- ASP.NET 中 Button、LinkButton和ImageButton 三种控件的使用详解
- ASP.NET中Label控件用法详解
- ASP.NET中 ListBox列表框控件的使用方法
- ASP.NET中Literal控件的使用方法
- ASP.NET中 PlaceHolder 控件的使用方法