将Ajax.ActionLink转换为按钮

时间:2012-03-01 15:50:38

标签: jquery asp.net-mvc

我有一个ajax ActionLink。它运作得很好:

@Ajax.ActionLink("Supprimer", "RemovePersonToKeepInformed", "General", new { keepInformedPersonId = item.KeepInformedPersonId }, new AjaxOptions { Confirm = @UserResource.KeepInformedPersonRemoveConfirmation, HttpMethod = "Delete", OnSuccess = "JsonDelete_OnSuccess" }) 

现在我想像按钮一样显示它。这是我的工作:

<span class="button"> 
    @Ajax.ActionLink("Supprimer", "RemovePersonToKeepInformed", "General", new { keepInformedPersonId = item.KeepInformedPersonId }, new AjaxOptions { Confirm = @UserResource.KeepInformedPersonRemoveConfirmation, HttpMethod = "Delete", OnSuccess = "JsonDelete_OnSuccess" }) 
</span>

$('.button').button();

仅当用户点击“Supprimer”文本时才有效。如果用户单击按钮中的任何位置,它将不起作用。

enter image description here

如何修复它以允许用户点击按钮中的任意位置来触发ajax?

感谢。

2 个答案:

答案 0 :(得分:2)

通过添加button<a>课程应用于, new { @class = "button" }标签。

答案 1 :(得分:0)

如果您可以将链接设置为按钮的样式而不是使用SPAN包装它,那将是最简单的。如果那是不可能的话,你需要在SPAN上添加一个点击处理程序来调用链接上的点击。根据链接的点击处理程序是否停止传播(您不希望生成的点击冒泡到SPAN上的点击处理程序),这可能也可能不容易做到。如果这对AjaxHelper来说太难了,那么用jQuery手动重新创建帮助器的动作应该不会太困难,你可以更好地控制发生的事情。

但最好的解决方案是将样式更改为链接本身。