アプリ版:「スタンプのみでお礼する」機能のリリースについて

クリッカブルマップを利用したASP.netですが
<asp:ImageMap ID = "ImageMAP1" runat = "server" HotSpotMode = "Navigate"
ImageUrl = "~/images/top.gif">
<asp:Rectangle HotSpot Bottom = "47" NavigateUrl = "~/website/menu.aspx" Right = "68" Left = "2"/>
<asp:Rectangle HotSpot Bottom = "47" NavigateUrl = "~/website/page2.aspx" Right = "139" Left = "69"/>
<asp:Rectangle HotSpot Bottom = "47" NavigateUrl = "~/website/page3.aspx" Right = "209" Left = "140"/>
<asp:Rectangle HotSpot Bottom = "47" NavigateUrl = "~/website/page4.aspx" Right = "298" Left = "210"/>
</asp:ImageMap>

NavigateUrl を同じページにあるDropDwnListによって

IF DropDownList.text="" then
NavigateUrl = "~/website/menu.aspx?ddl=100"
else
NavigateUrl = "~/website/menu.aspx?ddl=" & DropDownList.text
end if

となるように条件によって
指定URLを変更できるようにしたいのですが
どのようにしたらできるのでしょうか?
ボタンの場合は
クリックしたときにイベントができますが
ImageMAP1でそれぞれの範囲のNavigateUrlごとに条件を入れることはできるのでしょうか?
教えてください。

A 回答 (1件)

すんげえ亀レスですが。


画面上にある別のドロップダウンリストの値によって、飛び先を変えたいつうことですよね?

普通は、ImageMapのHotSpotModeを"PostBack"にしておき、イベントハンドラ側で動作を設定します。
ImageMapのHotSpotModeを"Navogate"のままで進める場合は、DropDownListで変更時にポストバックを派生させ、そのイベントハンドラでImageMap中のHotSpotCollectionコレクションを見ると、配下のHotSpotがズラーっと入っているので、そのNavigateURLを文字列で変更します。

(DropDownListのイベントハンドラ中で)
switch(this.myDropDownList.SelectedValue) {
case "ほげ一族":
this.myImageMap.HotSpotCollection[0].NavigateURL = "http://ほげ";
this.myImageMap.HotSpotCollection[1].NavigateURL = "http://もげ";
this.myImageMap.HotSpotCollection[1].NavigateURL = "http://わきげ";
break;
}

まあ、ImageMapのHotSpotModeを"PostBack"にして、イベントハンドラ側で動作を設定するほうが美しいと思いますよ。

参考URL:http://www.atmarkit.co.jp/fdotnet/dotnettips/420 …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
参考にさせていただきました。
<asp:RectangleHotSpot
hotspotmode="PostBack"
PostBackValue="Background"
alternatetext="Background"
top="0"
left="0"
bottom="350"
right="350">
</asp:RectangleHotSpot>
でクリックに値をつけImageMapのクリックイベントで
できるようになりました。
回答ありがとうございます。

お礼日時:2010/06/13 21:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!