The ImageMap control in ASP.NET 2.0 and onward versions can be used to create an image that contains defined hot spot regions. When a user clicks a hot spot region, the control can either generate a post back to the server or navigate to a specified URL.

There are three kinds of hot spot regions defined in ImageMap control.

The RectangleHotSpot defines rectangular hot spot regions. The CircleHotSpotdefines circle-shaped ones and the PolygonHotSpot is used for irregularly shaped hot spot area.

Let's have a look at one example:

Map.aspx

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="map.aspx.cs" Inherits="map" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5. <title>Untitled Page</title>
  6. </head>
  7. <body>
  8. <form id="form1" runat="server">
  9. <div>
  10. <table>
  11. <tr>
  12. <td colspan="4">
  13. <asp:ImageMap ID="india" runat="server" ImageUrl="~/Map.jpg" Height="500px" Width="887px" HotSpotMode="PostBack" OnClick="india_Click" BackColor="#C0C000" BorderColor="DarkSlateGray" ForeColor="Red">
  14. <asp:CircleHotSpot Radius="7" X="215" Y="125" HotSpotMode="PostBack" NavigateUrl="~/map.aspx" PostBackValue="bhuj" AlternateText="Bhuj" />
  15. <asp:CircleHotSpot Radius="7" X="525" Y="95" HotSpotMode="PostBack" NavigateUrl="~/map.aspx" PostBackValue="patan" />
  16. <asp:CircleHotSpot Radius="7" X="565" Y="45" HotSpotMode="PostBack" NavigateUrl="~/map.aspx" PostBackValue="ambaji" />
  17. <asp:CircleHotSpot Radius="7" X="525" Y="150" HotSpotMode="PostBack" NavigateUrl="~/map.aspx" PostBackValue="me" />
  18. <asp:CircleHotSpot Radius="7" X="625" Y="120" HotSpotMode="PostBack" NavigateUrl="~/map.aspx" PostBackValue="him" />
  19. <asp:CircleHotSpot Radius="7" X="495" Y="195" HotSpotMode="PostBack" NavigateUrl="~/map.aspx" PostBackValue="sure" />
  20. <asp:CircleHotSpot Radius="7" X="565" Y="195" HotSpotMode="PostBack" NavigateUrl="~/map.aspx" PostBackValue="ahd" /> </asp:ImageMap>
  21. </td>
  22. <td colspan="2" style="width: 364px">
  23. <asp:Panel ID="p1" runat="server" Height="20px" Visible="false">
  24. <asp:Label ID="lbl1" Text="CITY:Bhuj STATE:Gujarat" runat="server" Width="162px" Height="57px" BackColor="MediumVioletRed" Font-Bold="True" Font-Size="Larger" ForeColor="Blue"></asp:Label>
  25. </asp:Panel>
  26. <asp:Panel ID="p2" runat="server" Height="18px" Visible="false">
  27. <asp:Label ID="lbl2" Text="CITY:Patan STATE:Gujarat" runat="server" Width="162px" Height="45px" BackColor="MediumVioletRed" Font-Bold="True" Font-Size="Larger" ForeColor="Blue"></asp:Label>
  28. </asp:Panel>
  29. <asp:Panel ID="p3" runat="server" Height="16px" Visible="false">
  30. <asp:Label ID="lbl3" Text="CITY:Ambaji STATE:Gujarat" runat="server" Width="160px" BackColor="MediumVioletRed" Font-Bold="True" Font-Size="Larger" ForeColor="Blue"></asp:Label>
  31. </asp:Panel>
  32. <asp:Panel ID="p4" runat="server" Height="14px" Visible="false">
  33. <asp:Label ID="lbl4" Text="CITY:Mehsana STATE:Gujarat" runat="server" Width="161px" BackColor="MediumVioletRed" Font-Bold="True" Font-Size="Larger" ForeColor="Blue"></asp:Label>
  34. </asp:Panel>
  35. <asp:Panel ID="p5" runat="server" Height="14px" Visible="false">
  36. <asp:Label ID="lbl5" Text="CITY:Himatnagar STATE:Gujarat" runat="server" Width="161px" BackColor="MediumVioletRed" Font-Bold="True" Font-Size="Larger" ForeColor="Blue"></asp:Label>
  37. </asp:Panel>
  38. <asp:Panel ID="p6" runat="server" Height="14px" Visible="false">
  39. <asp:Label ID="lbl6" Text="CITY:Surendranagar STATE:Gujarat" runat="server" Width="90px" BackColor="MediumVioletRed" Font-Bold="True" Font-Size="Larger" ForeColor="Blue"></asp:Label>
  40. </asp:Panel>
  41. <asp:Panel ID="p7" runat="server" Height="14px" Visible="false">
  42. <asp:Label ID="lbl7" Text="CITY:Ahemdabad STATE:Gujarat" runat="server" Width="162px" BackColor="MediumVioletRed" Font-Bold="True" Font-Size="Larger" ForeColor="Blue"></asp:Label>
  43. </asp:Panel>
  44. </td>
  45. </tr>
  46. </table>
  47. </div>
  48. </form>
  49. </body>
  50. </html>
Map.aspx.cs
  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Collections;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.WebControls;
  9. using System.Web.UI.WebControls.WebParts;
  10. using System.Web.UI.HtmlControls;
  11. public partial class map : System.Web.UI.Page
  12. {
  13. protected void india_Click(object sender, ImageMapEventArgs e)
  14. {
  15. string aa = e.PostBackValue;
  16. if(aa=="bhuj")
  17. {
  18. p1.Visible =true ;
  19. p2.Visible = false;
  20. p3.Visible = false;
  21. p4.Visible = false;
  22. p5.Visible = false;
  23. p6.Visible = false;
  24. p7.Visible = false;
  25. }
  26. else if(aa=="patan")
  27. {
  28. p1.Visible =false ;
  29. p2.Visible =true ;
  30. p3.Visible = false;
  31. p4.Visible = false;
  32. p5.Visible = false;
  33. p6.Visible = false;
  34. p7.Visible = false;
  35. }
  36. else if (aa == "ambaji")
  37. {
  38. p1.Visible = false;
  39. p2.Visible = false;
  40. p3.Visible = true;
  41. p4.Visible = false;
  42. p5.Visible = false;
  43. p6.Visible = false;
  44. p7.Visible = false;
  45. }
  46. else if (aa == "him")
  47. {
  48. p1.Visible = false;
  49. p2.Visible = false;
  50. p3.Visible = false ;
  51. p5.Visible = true;
  52. p4.Visible = false;
  53. p6.Visible = false;
  54. p7.Visible = false;
  55. }
  56. else if (aa == "me")
  57. {
  58. p1.Visible = false;
  59. p2.Visible = false;
  60. p3.Visible = false ;
  61. p4.Visible = true;
  62. p5.Visible = false;
  63. p6.Visible = false;
  64. p7.Visible = false;
  65. }
  66. else if (aa == "sure")
  67. {
  68. p1.Visible = false;
  69. p2.Visible = false;
  70. p3.Visible = false;
  71. p5.Visible = false ;
  72. p4.Visible = false;
  73. p6.Visible = true;
  74. p7.Visible = false;
  75. }
  76. else if (aa == "ahd")
  77. {
  78. p1.Visible = false;
  79. p2.Visible = false;
  80. p3.Visible = false;
  81. p5.Visible = false ;
  82. p4.Visible = false;
  83. p7.Visible = true;
  84. p6.Visible = false;
  85. }
  86. }
  87. }
Output:

Output