Question

Comment dans ASP.NET MVC puis-je construire une image cliquable ?Pour réf :

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

Une réponse à une réponse à une question sans rapport par Marc c'est quelque chose de similaire :

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

Désolé si c'est redondant.Mes recherches ont indiqué qu'il pourrait s'agir d'une réponse mvc version 2.Vous recherchez quelque chose de similaire à Html.ActionLink s'il existe.Évidemment, je pourrais référencer la route par son nom et envoyer les paramètres en utilisant cette Url.RouteUrl, mais est-ce la manière de facto de la gérer ?

Merci

Était-ce utile?

La solution

Vous devrez créer le HTML vous-même...jetez un œil au code HTML rendu dans asp.net classique en utilisant :

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

Ensuite, imitez cela dans votre propre vue asp.net mvc en remplaçant l'un des hrefs de la carte par vos appels Url.RouteUrl.

Par exemple.

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

Jetez un œil aux différentes surcharges Url.RouteUrl() et/ou méthodes UrlHelper pour voir laquelle convient le mieux à votre situation.

Une fois que vous avez réglé ce problème, ma recommandation serait d'encapsuler la création de vos liens de zone dans une extension HtmlHelper.

Autres conseils

Je suis en mesure de remplacer ce qui suit et cela a fonctionné très bien:

html par exemple:

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

exemple mvc4

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

Une autre option est de construire votre carte d'image avec c #. Le lien suivant fournit des méthodes d'assistance qui crée une carte d'image du code dans votre vue / contrôleur:

http: // www .avantprime.com / articles / vue-article / 9 / asp.net-mvc-carte-helper d'image

Edit: Essayez http://web.archive.org/web/20110728032820/http://www.avantprime.com/articles/view-article/9 /asp.net-mvc-image-map-helper pour une version archivée du lien d'origine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top