Asp.net mvc asp.NETMVC:如何进行图像映射?
如何在ASP.NET MVC中构建图像映射?参考:Asp.net mvc asp.NETMVC:如何进行图像映射?,asp.net-mvc,actionlink,imagemap,Asp.net Mvc,Actionlink,Imagemap,如何在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
<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>
抱歉,如果这是多余的。我的研究表明,这可能是mvc版本2的答案。正在查找类似于Html.ActionLink的内容(如果存在)。显然,我可以通过名称引用路由并使用Url.RouteUrl发送参数,但这是处理它的实际方法吗
谢谢您必须自己创建HTML。。。查看在经典asp.net中使用以下方式呈现的html:
<map id='headerMap'>
<area shape='rect' href="Default.aspx" coords='300,18,673,109' />
</map>
然后在您自己的asp.net mvc视图中模拟,用Url.RouteUrl调用替换映射的任何HREF
例如
查看不同的Url.RouteUrl()重载和/或UrlHelper方法,看看哪种方法最适合您的情况
一旦你解决了这个问题,我的建议是将你创建的区域链接封装到一个HtmlHelper扩展中 另一个选项是使用c#构建图像映射。以下链接提供了一些帮助器方法,用于从视图/控制器中的代码创建图像映射:
编辑:尝试原始链接的存档版本。我可以替换以下内容,效果很好:
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>
<map id='headerMap'>
<area shape="rect" href=@Url.Action("Default", "Home") coords="300,18,673,109">
</map>