带图像的Ajax.ActionLink

时间:2011-06-16 15:19:08

标签: jquery ajax asp.net-mvc-3

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

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

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

2 个答案:

答案 0 :(得分:2)

@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)" })

注意

你应该看到你的图像的完整路径(相对路径)。

答案 1 :(得分:0)

我使用了这种方法的变体,但不那么重要了

https://stackoverflow.com/a/23656271/2667818

速度快,适用于我尝试过的所有内容。

增加的好处是您可以重用现有的css用于图像,而不是为按钮重写它们。