語言

RectangleHotSpot 類別

定義

定義控制中矩形熱點區域 ImageMap 。 此類別無法獲得繼承。

public ref class RectangleHotSpot sealed : System::Web::UI::WebControls::HotSpot
public sealed class RectangleHotSpot : System.Web.UI.WebControls.HotSpot
type RectangleHotSpot = class
    inherit HotSpot
Public NotInheritable Class RectangleHotSpot
Inherits HotSpot
繼承
RectangleHotSpot

範例

以下程式碼範例示範如何宣告式建立 ImageMap 包含兩個 RectangleHotSpot 物件的控制項。 ImageMap.HotSpotMode屬性設定為 HotSpotMode.PostBack,每當使用者點擊熱點區域時,頁面就會回傳到伺服器。 每當使用者點擊其中一個 RectangleHotSpot 物件時, GetCoordinates 該方法就會被呼叫,並顯示所選熱點的座標給使用者。 為了讓這個範例正常運作,你必須為該屬性提供自己的影像 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)
  {
    string coordinates;
    string hotSpotType;
    int yescount = ((ViewState["yescount"] != null)? (int)ViewState["yescount"] : 0);
    int nocount = ((ViewState["nocount"] != null)? (int)ViewState["nocount"] : 0);

    // When a user clicks the "Yes" hot spot,
    // display the hot spot's name and coordinates.
    if (e.PostBackValue.Contains("Yes"))
    {
      yescount += 1;
      coordinates = Vote.HotSpots[0].GetCoordinates();
      hotSpotType = Vote.HotSpots[0].ToString ();
      Message1.Text = "You selected " + hotSpotType + " " + e.PostBackValue + ".<br />" +
                      "The coordinates are " + coordinates + ".<br />" +
                      "The current vote count is " + yescount.ToString() + 
            " yes votes and " + nocount.ToString() + " no votes.";
    }
      
    // When a user clicks the "No" hot spot,
    // display the hot spot's name and coordinates.
    else if (e.PostBackValue.Contains("No"))
    {
      nocount += 1;
      coordinates = Vote.HotSpots[1].GetCoordinates();
      hotSpotType = Vote.HotSpots[1].ToString ();
      Message1.Text = "You selected " + hotSpotType + " " + e.PostBackValue + ".<br />" +
                      "The coordinates are " + coordinates + ".<br />" +
            "The current vote count is " + yescount.ToString() +
            " yes votes and " + nocount.ToString() + " no votes.";
    }
    
    else
    {
      Message1.Text = "You did not click a valid hot spot region.";
    }

    ViewState["yescount"] = yescount;
    ViewState["nocount"] = nocount;
  }           
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
  <title>ImageMap Class Post Back Example</title>
</head>
  <body>
    <form id="form1" runat="server">
    
      <h3>ImageMap Class Post Back Example</h3>
      
      <asp:imagemap id="Vote"           
        imageurl="Images/VoteImage.jpg"
        width="400" 
        height="200" 
        alternatetext="Vote Yes or No"
        hotspotmode="PostBack"
        onclick="VoteMap_Clicked"
        runat="Server">            
          
        <asp:RectangleHotSpot          
          top="0"
          left="0"
          bottom="200"
          right="200"
          postbackvalue="Yes"
          alternatetext="Vote yes">
        </asp:RectangleHotSpot>
          
        <asp:RectangleHotSpot 
          top="0"
          left="201"
          bottom="200"
          right="400"
          postbackvalue="No"
          alternatetext="Vote no">
        </asp:RectangleHotSpot>
      
      </asp:imagemap>
            
      <br /><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)
    Dim coordinates As String
    Dim hotSpotType As String
    Dim yescount As Integer
    Dim nocount As Integer
    
    If (ViewState("yescount") IsNot Nothing) Then
      yescount = Convert.ToInt32(ViewState("yescount"))
    Else
      yescount = 0
    End If
    If (ViewState("nocount") IsNot Nothing) Then
      nocount = Convert.ToInt32(ViewState("nocount"))
    Else
      nocount = 0
    End If
      
    
    ' When a user clicks the "Yes" hot spot,
    ' display the hot spot's name and coordinates.
    If (e.PostBackValue.Contains("Yes")) Then
      
      yescount += 1
      coordinates = Vote.HotSpots(0).GetCoordinates()
      hotSpotType = Vote.HotSpots(0).ToString()
      Message1.Text = "You selected " & hotSpotType & " " & e.PostBackValue & ".<br />" & _
                      "The coordinates are " & coordinates & ".<br />" & _
                      "The current vote count is " & yescount.ToString() & _
                      " yes votes and " & nocount.ToString() & " no votes."
       
      ' When a user clicks the "No" hot spot,
      ' display the hot spot's name and coordinates.
    ElseIf (e.PostBackValue.Contains("No")) Then
      
      nocount += 1
      coordinates = Vote.HotSpots.Item(1).GetCoordinates()
      hotSpotType = Vote.HotSpots.Item(1).ToString()
      Message1.Text = "You selected " & hotSpotType & " " & e.PostBackValue & ".<br />" & _
                     "The coordinates are " & coordinates & ".<br />" & _
                      "The current vote count is " & yescount.ToString() & _
                      " yes votes and " & nocount.ToString() & " no votes."
      
    Else
      
      Message1.Text = "You did not click a valid hot spot region."
                
    End If
      
    ViewState("yescount") = yescount
    ViewState("nocount") = nocount
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
  <title>ImageMap Class Post Back Example</title>
</head>
  <body>
    <form id="form1" runat="server">
    
      <h3>ImageMap Class Post Back Example</h3>
      
      <asp:imagemap id="Vote"           
        imageurl="Images/VoteImage.jpg"
        width="400" 
        height="200" 
        alternatetext="Vote Yes or No"
        hotspotmode="PostBack"
        onclick="VoteMap_Clicked"
        runat="Server">            
          
        <asp:RectangleHotSpot          
          top="0"
          left="0"
          bottom="200"
          right="200"
          postbackvalue="Yes"
          alternatetext="Vote yes">
        </asp:RectangleHotSpot>
          
        <asp:RectangleHotSpot 
          top="0"
          left="201"
          bottom="200"
          right="400"
          postbackvalue="No"
          alternatetext="Vote no">
        </asp:RectangleHotSpot>
      
      </asp:imagemap>
            
      <br /><br />
          
      <asp:label id="Message1"
        runat="Server">
      </asp:label>                 
                 
    </form>      
  </body>
</html>

備註

此類別定義控制組中的 ImageMap 矩形熱點區域。 要定義物件的 RectangleHotSpot 區域,將屬性設 Left 為代表矩形區域左上角 x 座標的值。 將屬性 Top 設定為代表矩形區域左上角 y 座標的值。 將屬性設定 Right 為代表矩形區域右下角 x 座標的值。 將屬性設 Bottom 為代表矩形區域右下角 y 座標的值。

當 RectangleHotSpot 按鈕被點擊時,頁面會導向網址、生成貼文回傳伺服器,或是不做任何事。 屬性 HotSpotMode 指定了這種行為。 要導覽到 URL,請將屬性 HotSpotMode 設為 , HotSpotMode.Navigate 並使用該 NavigateUrl 屬性指定要導航的 URL。 要回傳到伺服器,請將屬性設 HotSpotMode 為 , HotSpotMode.PostBack 並用該 PostBackValue 屬性指定物件名稱 RectangleHotSpot 。 這個名稱會在點擊時傳入 ImageMapEventArgs 事件資料 RectangleHotSpot 中。 . 如果你想讓 HotSpot 物件沒有任何行為,請將屬性設 HotSpotMode 為 HotSpotMode.Inactive。

建構函式

名稱 Description
RectangleHotSpot()

初始化 RectangleHotSpot 類別的新執行個體。

屬性

名稱 Description
AccessKey

取得或設定存取鑰匙,讓你能快速導航到該 HotSpot 區域。

(繼承來源 HotSpot)
AlternateText

當圖片無法取得或顯示到不支援圖片的瀏覽器時,該物件的替代文字 HotSpot 會被設定 ImageMap 為物件的顯示。

(繼承來源 HotSpot)
Bottom

取得或設定由此 RectangleHotSpot 物件定義的矩形區域底部的 y 座標。

HotSpotMode

當點擊時HotSpot,取得或設定物件在控制項中的ImageMap行為HotSpot。

(繼承來源 HotSpot)
IsTrackingViewState

會取得一個值,表示物件是否 HotSpot 正在追蹤其視圖狀態的變化。

(繼承來源 HotSpot)
Left

取得或設定由此 RectangleHotSpot 物件定義的矩形區域左側的 x 座標。

MarkupName

當在衍生類別中覆寫時,會得到物件形狀的 HotSpot 字串表示。

(繼承來源 HotSpot)
NavigateUrl

當物件被點擊時,取得或設定 URL 以導航。HotSpot

(繼承來源 HotSpot)
PostBackValue

取得或設定物件名稱 HotSpot ,在點擊時 HotSpot 傳遞事件資料。

(繼承來源 HotSpot)
Right

取得或設定由此 RectangleHotSpot 物件定義的矩形區域右側的 x 座標。

TabIndex

取得或設定該區域的 HotSpot 標籤索引。

(繼承來源 HotSpot)
Target

當點擊導向 URL 的物件時,會取得或設定顯示連結 HotSpot 網頁內容的目標視窗或框架。

(繼承來源 HotSpot)
Top

取得或設定由此 RectangleHotSpot 物件定義的矩形區域頂端的 y 座標。

ViewState

它會取得一個狀態資訊字典,讓你能在多個請求中儲存並還原物件的視圖狀態 HotSpot ,針對同一頁面。

(繼承來源 HotSpot)

方法

名稱 Description
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetCoordinates()

回傳一個字串,代表物件左上角的 RectangleHotSpot x -and 與 y 座標,以及右下角的 x 與 y 座標。

GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type。

(繼承來源 Object)
LoadViewState(Object)

將 HotSpot 物件先前儲存的檢視狀態還原到物件上。

(繼承來源 HotSpot)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
SaveViewState()

會將自頁面發布以來物件 HotSpot 視圖狀態的變更保存回伺服器。

(繼承來源 HotSpot)
ToString()

回傳 String 此物件實例 HotSpot 的表示。

(繼承來源 HotSpot)
TrackViewState()

會讓 HotSpot 物件追蹤其檢視狀態的變更,以便將它們儲存在物件中 StateBag 。 此物件可透過屬性 ViewState 存取。

(繼承來源 HotSpot)

明確介面實作

名稱 Description
IStateManager.IsTrackingViewState

會取得一個值,表示物件是否 HotSpot 正在追蹤其視圖狀態的變化。

(繼承來源 HotSpot)
IStateManager.LoadViewState(Object)

將 HotSpot 物件先前儲存的檢視狀態還原到物件上。

(繼承來源 HotSpot)
IStateManager.SaveViewState()

將自上次頁面發布以來物件檢視狀態的變更 HotSpot 保存回伺服器。

(繼承來源 HotSpot)
IStateManager.TrackViewState()

指示區域 HotSpot 追蹤其視圖狀態的變化。

(繼承來源 HotSpot)

適用於

另請參閱