想在Html.ActionLink中使用带有文本的图像

时间:2011-08-04 07:36:52

标签: css asp.net-mvc model-view-controller asp.net-mvc-3

我使用以下内容:

<img src="../../Content/Images/lock_16.gif" />
@Html.ActionLink("Register", 
   "Register", 
   "Users", 
   null, 
   new { title = "Register your ID", rel = "nofollow" 
})

我想要的是锁定图像出现在<a> </a>内部,因此它是可点击的,而不是在它之前。我已经使用(并在悬停时更改颜色)背景图像,因此我无法使用background-image属性来显示图像。

任何人都可以想到一种方法,我可以设置图像,使其显示在文本之前,仍然可以点击。希望我能找到一种方法仍然允许我使用MVC Html.ActionLink。

3 个答案:

答案 0 :(得分:4)

ASP.NET MVC中的Html助手应该在简化代码编写时使用,而不是总是如此。简单的HTML会在你的情况下变得更好

<a href="@Url.Action("Register", "Users")" title="Register Your ID", rel="nofollow">
     Register <img src="@Url.Content("~/Content/Images/lock_16.gif")" />
</a>

请注意,仍然使用UrlHelper.Action方法动态生成链接地址。这样,您就不会失去对路由配置的链接依赖性。此外,正如Nicholas所提到的,图像源应该通过Url.Content助手生成。

答案 1 :(得分:0)

您可以使用类似 -

的内容
@Html.ActionLink("link Name", "Action Method", "Controller", new { style = "background-image:url('.././Images/imageName.png')" },null)

答案 2 :(得分:0)

@Html.ActionLink("link Name", "Action Method", "Controller", 
   new { style = "background-image:url('.././Images/imageName.png')" },
   null)