asp.net mvc:이미지맵은 어떻게 하나요?
-
20-09-2019 - |
문제
ASP.NET MVC에서 이미지 맵을 어떻게 구성합니까?참고:
<map id='headerMap'>
<area shape='rect' href="Default.aspx" coords='300,18,673,109' />
</map>
관련없는 질문에 대한 답변 중 하나 마커스 비슷한 것입니다 :
<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을 사용하여 매개 변수를 보낼 수 있지만 이것이 실제로 이를 처리하는 방법입니까?
감사해요
해결책
HTML을 직접 작성해야 합니다.다음을 사용하여 클래식 asp.net에서 렌더링되는 HTML을 살펴보십시오.
<map id='headerMap'>
<area shape='rect' href="Default.aspx" coords='300,18,673,109' />
</map>
그런 다음 지도의 href를 Url.RouteUrl 호출로 대체하여 자신의 asp.net mvc 보기에서 이를 모방합니다.
예:
<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 확장으로 캡슐화하는 것이 좋습니다.
다른 팁
나는 다음을 대체 할 수 있었고 잘 작동했습니다.
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>
또 다른 옵션은 C#으로 이미지 맵을 구성하는 것입니다. 다음 링크는 View / Controller 내에서 코드에서 이미지 맵을 작성하는 일부 도우미 방법을 제공합니다.
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 원본 링크의 보관 된 버전 용.