Frage

Wie in ASP.NET MVC würde ich ein Bild Karte konstruieren? Für ref:

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

Eine Antwort einer Antwort einer nicht verwandten Frage von markus ist etwas ähnlich:

<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>

Sorry, wenn dies ist überflüssig. Meine Forschung zeigte, dass dies eine Version 2 mvc Antwort sein kann. Suchen Sie etwas ähnlich wie Html.ActionLink wenn es vorhanden ist. Offensichtlich konnte ich den Weg durch Namen verweisen und in den Parametern senden, dass Url.RouteUrl verwenden, aber das ist die De-facto-Weg, es zu handhaben?

Danke

War es hilfreich?

Lösung

Sie werden die HTML erstellen müssen sich ... haben einen Blick auf den HTML-Code, die machen in der klassischen asp.net ist mit:

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

Dann imitiert, dass in Ihrer eigenen asp.net Mvc Ansicht eine der hrefs für die Karte mit Ihrem Url.RouteUrl Anruf zu ersetzen.

z.

<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">

Haben Sie einen Blick auf die verschiedenen Url.RouteUrl () Überlastungen und / oder UrlHelper Methoden zu sehen, die man passt Ihre Situation am besten.

Wenn Sie diese aussortiert haben, wäre meine Empfehlung die Schaffung Sie Bereich Links in eine Htmlhelper Erweiterung verkapseln.

Andere Tipps

Ich konnte die folgenden ersetzen und es funktionierte gut:

html Beispiel:

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

mvc4 Beispiel

<map id='headerMap'>
    <area shape="rect" href=@Url.Action("Default", "Home") coords="300,18,673,109">
</map>

Eine weitere Option ist Ihr Bild Karte mit c # zu konstruieren. Der folgende Link bietet einige Hilfsmethoden, die ein Bild Karte von Code innerhalb der View / Controller erzeugt:

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

Edit: Versuchen Sie http://web.archive.org/web/20110728032820/http://www.avantprime.com/articles/view-article/9 /asp.net-mvc-image-map-helper für eine archivierte Version des Original-Link.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top