ImageMap.HotSpotMode 属性

定义

获取或设置单击 HotSpot 对象时 ImageMap 控件的 HotSpot 对象的默认行为。

public:
 virtual property System::Web::UI::WebControls::HotSpotMode HotSpotMode { System::Web::UI::WebControls::HotSpotMode get(); void set(System::Web::UI::WebControls::HotSpotMode value); };
public virtual System.Web.UI.WebControls.HotSpotMode HotSpotMode { get; set; }
member this.HotSpotMode : System.Web.UI.WebControls.HotSpotMode with get, set
Public Overridable Property HotSpotMode As HotSpotMode

属性值

HotSpotMode 枚举值之一。 默认值为 NotSet

例外

指定的类型不是 HotSpotMode 枚举值之一。

示例

下面的代码示例演示如何以声明方式创建包含两RectangleHotSpotImageMap 对象的控件。 属性 ImageMap.HotSpotMode 设置为 HotSpotMode.PostBack,这会导致每次用户单击某个热点区域时,页面都会发回服务器。 未在每个 对象上设置 属性 HotSpotModeRectangleHotSpot 因为它们从 ImageMap.HotSpotMode 属性获取其行为。 若要使此示例正常工作,必须为 属性提供自己的映像 ImageUrl ,并相应地更新映像的路径,以便应用程序能够找到它。

<%@ page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  
  void VoteMap_Clicked(object sender, ImageMapEventArgs e)
  {       
    // When a user clicks the "Yes" hot spot,
    // display the hot spot's value.
    if (e.PostBackValue == "Yes")
      Message1.Text = "You selected " + e.PostBackValue + ".";
       
    else if (e.PostBackValue == "No") 
      // When a user clicks the "No" hot spot,
      // display the hot spot's value.       
      Message1.Text = "You selected " + e.PostBackValue + ".";
      
    else
      Message1.Text = "You did not click a valid hot spot region.";             
  }
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
  <title>ImageMap.HotSpotMode Example</title>
</head>
  <body>
    <form id="form1" runat="server">
    
      <h3>ImageMap.HotSpotMode Example</h3>
      
      <!--The RectangleHotSpot objects have the post back
        behavior specified by the HotSpotMode 
        property on the ImageMap control.-->
      <asp:imagemap id="Vote"           
        imageurl="Images/VoteImage.jpg"
        alternatetext="Voting choices" 
        hotspotmode="PostBack"
        onclick="VoteMap_Clicked"   
        runat="Server">   
        
        <asp:RectangleHotSpot          
          top="0"
          left="0"
          bottom="354"
          right="250"
          postbackvalue="Yes"
          alternatetext="Vote yes">
        </asp:RectangleHotSpot>
        
        <asp:RectangleHotSpot 
          top="0"
          left="251"
          bottom="354"
          right="500"
          postbackvalue="No"
          alternatetext="Vote no">
        </asp:RectangleHotSpot>
        
      </asp:imagemap>
      
      <br />
      
      <asp:label id="Message1"
        runat="Server">
      </asp:label>
              
    </form>      
  </body>
</html>
<%@ page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    
  Sub VoteMap_Clicked(ByVal sender As Object, ByVal e As ImageMapEventArgs)
            
    ' When a user clicks the "Yes" hot spot,
    ' display the hot spot's value.
    If (e.PostBackValue = "Yes") Then
      Message1.Text = "You selected " & e.PostBackValue & "."
       
      ' When a user clicks the "No" hot spot,
      ' display the hot spot's value.
    ElseIf (e.PostBackValue = "No") Then
      Message1.Text = "You selected " & e.PostBackValue & "."
      
    Else
      Message1.Text = "You did not click a valid hot spot region."
                
    End If
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
  <title>ImageMap.HotSpotMode Example</title>
</head>
  <body>
    <form id="form1" runat="server">
    
      <h3>ImageMap.HotSpotMode Example</h3>
      
      <!--The RectangleHotSpot objects have the post back
        behavior specified by the HotSpotMode 
        property on the ImageMap control.-->
      <asp:imagemap id="Vote"           
        imageurl="Images/VoteImage.jpg"
        alternatetext="Voting choices" 
        hotspotmode="PostBack"
        onclick="VoteMap_Clicked"   
        runat="Server">   
        
        <asp:RectangleHotSpot          
          top="0"
          left="0"
          bottom="354"
          right="250"
          postbackvalue="Yes"
          alternatetext="Vote yes">
        </asp:RectangleHotSpot>
        
        <asp:RectangleHotSpot 
          top="0"
          left="251"
          bottom="354"
          right="500"
          postbackvalue="No"
          alternatetext="Vote no">
        </asp:RectangleHotSpot>
        
      </asp:imagemap>
      
      <br />
      
      <asp:label id="Message1"
        runat="Server">
      </asp:label>
              
    </form>      
  </body>
</html>

注解

HotSpotMode使用 属性可指定控件中ImageMap对象的默认单击行为HotSpot。 此属性是使用枚举值之一设置的 HotSpotMode 。 下表列出了可能的值。

说明
Inactive 对象 HotSpot 没有任何行为。
NotSet 对象 HotSpot 使用由 ImageMap 控件的 HotSpotMode 属性设置的行为。 ImageMap如果控件未定义行为,则HotSpot对象将全部导航到 URL。
Navigate 对象 HotSpot 导航到 URL。
PostBack 对象 HotSpot 生成回发到服务器。

可以使用 控件的 属性或每个单独HotSpot对象的 属性来指定HotSpot对象的行为ImageMap.HotSpotModeHotSpot.HotSpotModeImageMap 如果同时设置了这两个属性,则 HotSpot.HotSpotMode 每个对象 HotSpot 上指定的属性优先于 ImageMap.HotSpotMode 控件上的 ImageMap 属性。

设置 HotSpotMode 控件的 ImageMap 属性时,请注意 HotSpotMode.NotSetHotSpotMode.Navigate 值具有相同的行为:两者都导航到 URL。 当为HotSpot.HotSpotMode单个对象的 属性指定HotSpotMode.NotSet时,它HotSpot根据 控件的 HotSpotMode 属性ImageMap的值确定其HotSpot行为。

如果为 ImageMap.HotSpotMode 属性指定 HotSpotMode.Navigate ,页面将在单击 时HotSpot导航到 URL。 NavigateUrl使用 属性指定要导航到的 URL。

如果为 ImageMap.HotSpotMode 属性指定 HotSpotMode.PostBack ,则页面会在单击 时HotSpot生成到服务器的回发。 PostBackValue使用 属性指定热点区域的名称。 发生回发事件时, ImageMapEventArgs 将在事件数据中传递此名称。 单击回发 HotSpot 时,将 Click 引发 事件。 若要以编程方式控制单击回发 HotSpot 时执行的操作,请为 Click 事件提供事件处理程序。

如果为 HotSpot.HotSpotMode 属性指定 HotSpotMode.Inactive ,则HotSpot对象在单击时没有任何行为。 可以使用此值在较大的活动热点中创建非活动热点。 提供此选项用于在控件中创建 ImageMap 更复杂的热点区域。

若要在活动热点中创建非活动区域,必须在控件中的 ImageMap 活动热点之前指定非活动热点。 例如,下面 ImageMap 通过在较大的活动循环热点中指定非活动循环热点来定义活动环:

<asp:ImageMap ID="SaturnImage"   
       ImageUrl="~/saturn.PNG"   
       runat="server" OnClick="SaturnImage_Click">  
    <asp:CircleHotSpot AlternateText="planet" HotSpotMode=PostBack  
          PostBackValue="planet" Radius=40 X=100 Y=100 />  

    <asp:CircleHotSpot HotSpotMode=Inactive   
          Radius=60 X=100 Y=100 />  
    <asp:CircleHotSpot AlternateText="rings" HotSpotMode=PostBack  
          PostBackValue="rings" Radius=80 X=100 Y=100 />  
</asp:ImageMap>  

若要使控件中的所有HotSpotImageMap对象具有相同的行为,请使用 HotSpotMode 控件上的 ImageMap 属性指定该行为。 然后,将每个对象HotSpot上的 HotSpotMode 属性设置为 HotSpotMode.NotSet 或不指定HotSpot.HotSpotMode属性的值。

若要为HotSpot控件中的ImageMap对象指定不同的行为,请将每个对象HotSpot上的 属性设置为 HotSpot.HotSpotModeHotSpotMode.NavigateHotSpotMode.PostBackHotSpotMode.Inactive

注意

ImageMap如果控件的 ImageMap.HotSpotMode 属性或其HotSpot.HotSpotMode包含的任何HotSpot对象上的 属性设置为 HotSpotMode.NotSet 或未设置为 值,则默认情况下行为为 HotSpotMode.Navigate

适用于

另请参阅