Asp.net MVC: как изображение карты? - PullRequest
1 голос
/ 31 августа 2009

Как в ASP.NET MVC мне построить карту изображения? Для ref:

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

Один ответ на ответ на несвязанный вопрос markus выглядит примерно так:

<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, но разве это нереальный способ его обработки?

Спасибо

Ответы [ 3 ]

4 голосов
/ 31 августа 2009

Вы должны будете создать HTML самостоятельно ... взгляните на HTML, который отображается в классическом asp.net, используя:

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

Затем имитируйте это в своем собственном представлении asp.net mvc, заменяя любые hrefs для карты вашими вызовами Url.RouteUrl.

* 1006 Е.Г. *

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

3 голосов
/ 04 октября 2012

Мне удалось заменить следующее, и все заработало просто:

Пример 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>
1 голос
/ 28 сентября 2010

Другой вариант - создать карту изображений с помощью 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 для архивной версии исходной ссылки.

...