Pregunta

Como en ASP.NET MVC iba a construir un mapa de imagen? Por ref:

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

Una respuesta de una respuesta de una pregunta no relacionada por Markus es algo similar:

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

Lo siento si esto es redundante. Mi investigación indica que esto puede ser una respuesta MVC versión 2. Buscando algo similar a Html.ActionLink si existe. Obviamente, podría hacer referencia a la ruta por su nombre y enviar a los parámetros de uso de ese Url.RouteUrl, pero es esta la forma de facto para manejarlo?

Gracias

¿Fue útil?

Solución

Vas a tener que crear el código HTML usted mismo ... echar un vistazo a la HTML que se hacen en asp.net clásica usando:

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

A continuación imitar que en su propia asp.net mvc vista sustitución de cualquiera de los hrefs para el mapa con sus llamadas Url.RouteUrl.

por ejemplo.

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

Tener un vistazo a los diferentes Url.RouteUrl () sobrecargas y / o UrlHelper métodos para ver cuál se adapta a su situación lo mejor.

Cuando haya ordenado que fuera, mi recomendación sería la de encapsular la creación de enlaces de área usted en una extensión HtmlHelper.

Otros consejos

yo era capaz de sustituir la siguiente y funcionó muy bien:

html ejemplo:

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

ejemplo mvc4

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

Otra opción es construir su mapa de imagen con C #. El siguiente enlace proporciona algunos métodos de ayuda que crea un mapa de imagen de código dentro de la vista / controlador:

http: // www .avantprime.com / artículos / foto-artículo / 9 / asp.net-mvc-imagen-mapa-helper

Editar: intente http://web.archive.org/web/20110728032820/http://www.avantprime.com/articles/view-article/9 /asp.net-mvc-image-map-helper para una versión archivada de la fuente original.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top