Jquery 带有图像的Ajax.ActionLink

Jquery 带有图像的Ajax.ActionLink,jquery,ajax,asp.net-mvc-3,Jquery,Ajax,Asp.net Mvc 3,要创建调用动作方法的图像按钮,可以使用类似的构造 <a href="@Url.Action("SomeAction")" ><img src="image.jpg"/> </a> 但是如果我真的需要一个ajax调用呢? 我可以使用jQuery,并将javascript事件绑定到按钮,但我想知道是否有更简单的方法,不让脚本污染标记?试试看 @Ajax.ActionLink("LinkText", "ActionName", "ControllerName"

要创建调用动作方法的图像按钮,可以使用类似的构造

<a href="@Url.Action("SomeAction")" ><img src="image.jpg"/> </a>

但是如果我真的需要一个ajax调用呢? 我可以使用jQuery,并将javascript事件绑定到按钮,但我想知道是否有更简单的方法,不让脚本污染标记?

试试看

@Ajax.ActionLink("LinkText", "ActionName", "ControllerName", your route values or null, new AjaxOptions { UpdateTargetId="Div1"}, new { @class = "MyCssClass" })
在您的
css
文件中

.MyCssClass
{
  background-image:url(image.jpg);
}
编辑

@Ajax.ActionLink("LinkText", "ActionName", "ControllerName", your route values or null, new AjaxOptions { UpdateTargetId = "Div1" }, new { style = "background-image:url(image.jpg)" })
注意


您应该创建图像的完整路径(相对路径)。

我使用了一种变体,这种变体的工作方式少了一些欺骗

它很快,而且和我试过的所有东西都很好用


附加的好处是,您可以将现有css重新用于图像,而不是将其用于按钮。

我可以使用@style在标记中创建背景图像吗?可以,但您不必使用
@
,我之所以使用它,是因为
class
是.net中的保留关键字,不能用作变量名。它不允许我使用空字符串(第一个参数)创建操作链接。我向我显示文本。。。这是我不想要的。如果我将文本留空(空格),它将不会显示背景…我已经设法在@Ajax.ActionLink(“\u00A0\u00A0\u00A0\u00A0”)中放置了一些不可破坏的空格,但它仍然显示一个超链接下划线…有没有办法通过css隐藏它?我注意到MVC3中似乎存在问题(与类型有关)=“图像”),但它确实适用于MVC4