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,这会导致每次用户单击某个热点区域时,页面都会发回服务器。 HotSpotMode未在每个对象上设置 属性,RectangleHotSpot因为它们从 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.HotSpotMode每个单独HotSpot对象的 属性ImageMap来指定HotSpot对象的行为ImageMap.HotSpotMode。 如果这两个属性都已设置,则 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对象的 属性设置为 HotSpotModeHotSpotMode.NotSet ,或者不为 属性HotSpot.HotSpotMode指定值。

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

备注

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

适用于

另请参阅