Asp.net mvc asp.NETMVC:如何进行图像映射?

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

如何在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>

抱歉,如果这是多余的。我的研究表明,这可能是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>