2

ASP.NET MVCでイメージマップを作成するにはどうすればよいですか?参考のために:

<map id='headerMap'>
    <area shape='rect' href="Default.aspx" coords='300,18,673,109' />
</map>

マルクスによる無関係な質問の答えの1つの答えは似たようなものです:

<a href="<%= Url.RouteUrl("MyRoute", new { param1 = "bla", param2 = 5 }) %>">
   put in <span>whatever</span> you want, also <img src="a.gif" alt="images" />.
</a>

これが冗長な場合は申し訳ありません。私の調査によると、これはバージョン2のMVCの回答である可能性があります。Html.ActionLinkに類似したものが存在する場合は、それを探します。明らかに、名前でルートを参照し、そのUrl.RouteUrlを使用してパラメーターを送信することはできますが、これは事実上の処理方法ですか?

ありがとう

4

3 に答える 3

5

HTMLを自分で作成する必要があります...クラシックasp.netでレンダリングされるhtmlを見てください。

<map id='headerMap'>
    <area shape='rect' href="Default.aspx" coords='300,18,673,109' />
</map>

次に、独自のasp.net mvcビューで、マップのhrefをUrl.RouteUrl呼び出しに置き換えて模倣します。

例えば

<map id="mymap" name="mymap">
    <area href="<%= Url.RouteUrl("MyRoute", new { param1 = "foo", param2 = 5 }) %>" alt="HTML and CSS Reference" shape="rect" coords="5,5,95,195">
    <area href="<%= Url.RouteUrl("MyRoute", new { param1 = "bar", param2 = 3 }) %>" alt="Design Guide" shape="rect" coords="105,5,195,195">
</map>
<image src="sitemap.gif" alt="Site map" "usemap"="#mymap" width="300" height="200">

さまざまなUrl.RouteUrl()オーバーロードやUrlHelperメソッドを見て、どちらが状況に最も適しているかを確認してください。

それを整理したら、エリアリンクの作成をHtmlHelper拡張機能にカプセル化することをお勧めします。

于 2009-08-31T04:27:11.873 に答える
3

私は次のものを置き換えることができました、そしてそれはうまくいきました:

htmlの例:

<map id='headerMap'>
   <area shape='rect' href="Default.aspx" coords='300,18,673,109' />
</map>

mvc4の例

<map id='headerMap'>
    <area shape="rect" href=@Url.Action("Default", "Home") coords="300,18,673,109">
</map>
于 2012-10-04T19:07:48.140 に答える
1

もう1つのオプションは、c#を使用してイメージマップを作成することです。次のリンクは、ビュー/コントローラー内のコードから画像マップを作成するいくつかのヘルパーメソッドを提供します。

http://www.avantprime.com/articles/view-article/9/asp.net-mvc-image-map-helper

編集:アーカイブバージョンについては、 http: //web.archive.org/web/20110728032820/http ://www.avantprime.com/articles/view-article/9/asp.net-mvc-image-map-helperを試してください元のリンクの。

于 2010-09-28T08:20:35.933 に答える