我有一个要求,当用户点击一个Ajax ActionLink时,显示一个自定义的模态jQuery确认。但是,当我尝试将其添加到Ajax链接时,ajax调用将继续,并且不允许确认来停止该调用。我试过使用OnBegin函数,但是当我调用preventDefault时,它会抛出一个不支持的方法错误。如果我返回false,它不允许任何方式继续通话。有人知道如何做到这一点?使用Ajax.ActionLink,我如何显示自定义模态确认?
这里是我想要添加的确认链接:
<div class="sign">@Model.Email | @Ajax.ActionLink("Sign Out", "SignOut", new { area = "", controller = "Account" }, new AjaxOptions { HttpMethod = "POST" })</div>
这里是我试图执行代码:
$('#MainNav ul li a, .header-top a').click(function (e) {
e.preventDefault();
var link = $(this).attr('href');
$('.confirm-dialog .confirm-this').attr('href', link);
$('.confirm-dialog').dialog({
modal: true,
draggable: false,
overlay: { opacity: 0.8 },
resizable: false,
width: 400,
open: function() {
$('.close-dialog').click(function (e) { e.preventDefault(); $(this).parents('.ui-dialog').remove(); });
$('.confirm-this').click(function() { });
}
});
});
任何帮助将是很大的赞赏。我已经做了大量的搜索工作,试图弄清楚这一点,但是我仍然面临同样的基本问题。如何在用户点击确认之前停止Ajax呼叫?
谢谢你,马克。我使用你的代码片段来处理我的.confirm - 这个点击函数,并添加一个只返回false的OnBegin函数。我感谢帮助! – Paul 2012-02-24 17:29:35