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

2024-01-08

如何在 ASP.NET MVC 中构建图像映射?供参考:

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

一个不相关问题的答案的一个答案markus https://stackoverflow.com/users/60576/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 发送参数,但这是处理它的事实上的方法吗?

Thanks


您必须自己创建 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。

E.g.

<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 扩展中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

asp.net mvc:如何进行图像映射? 的相关文章

随机推荐