【问题标题】:Ajax.ActionLink with imageAjax.ActionLink 与图像
【发布时间】:2011-06-16 15:19:08
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    试试

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

    注意

    您应该编写图像的完整路径(相对路径)。

    【讨论】:

    • 我可以在标记中使用@style 制作背景图像吗?
    • 可以,但不能用@,因为class是.net中的保留关键字,不能用作变量名。
    • 它不允许我使用空字符串(第一个参数)创建操作链接
    • 我给我看文本...我不想要的。如果我将文本留空(空格),它就不会显示背景......
    • 我已经设法放置了一些不可破坏的空格@Ajax.ActionLink("\u00A0 \u00A0 \u00A0",但它仍然向我显示了一个超链接下划线......有什么办法可以隐藏它虽然 css?
    【解决方案2】:

    我使用了一个变体,它的工作原理更少

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

    它很快,并且适用于我尝试过的所有东西。

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

    【讨论】:

    • 我注意到这似乎在 MVC3 中存在问题(与 type="image" 有关),但它确实适用于 MVC 4
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多