我有一个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”时,它才起作用。如果用户在按钮中的任意位置单击,则不起作用。
我如何修复它,以便允许用户单击按钮中的任何位置来触发ajax?
谢谢。
发布于 2012-03-01 15:53:40
通过添加, new { @class = "button" }
将button
类应用于<a>
标记本身。
发布于 2012-03-01 15:59:23
最简单的方法是设置链接样式,使其显示为按钮,而不是用跨度包装它。如果这是不可能的,那么您将需要添加一个click处理程序到调用在链接上单击的SPAN。这可能很容易,也可能不容易,这取决于链接的点击处理程序是否停止传播(您不希望生成的点击在跨度上冒泡到点击处理程序)。如果使用AjaxHelper很难做到这一点,那么使用jQuery手动重新创建帮助器的操作应该不是太难,因为您可以更好地控制发生的事情。
不过,最好的解决方案是将样式更改为链接本身。
https://stackoverflow.com/questions/9519318
复制