我有一個要求,當用戶點擊一個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