我使用Entity Framework在MVC中创建了Web应用程序来执行CRUD操作。在我删除任何记录时,我删除视图然后我能够删除该记录。但我没有这样做,我希望有一个警告框,通过java脚本说明“你确定要删除此记录”,然后不与用户说话,我想删除该记录。
我正在使用以下选项,但它没有帮助...
$(function () {
$('table.dataList tbody a[linktype="Delete"]').click(function (e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: '/DepartmentController/DeleteConformed/',
dataType: 'script',
success: function () {
alert('Are you sure you want to Delete this Department');
},
error: function (req, status, err) {
alert(err);
}
});
});
缓存错误表明“未找到”。在说明URL时我是否犯了任何错误。
答案 0 :(得分:4)
在已经发送了对服务器的请求并且记录已被删除之后,调用<{1}}回调。
您需要在执行Ajax请求之前确认用户意图,通常使用success
方法。
类似的东西:
window.confirm
答案 1 :(得分:0)
使用jquery对话框。在您的视图中添加:
<div id="confirm-dialog"></div>
并更改您的功能:
$('table.dataList tbody a[linktype="Delete"]').click(function (e) {
e.preventDefault();
$("#confirm-dialog").dialog({
title: "Are you sure you want to delete this Department?",
autoOpen: false,
modal: true,
height: 'auto',
close: function () {
$(this).dialog("close");
}
});
$("#confirm-dialog").dialog({
buttons: {
"OK": function () {
$.ajax({
type: 'POST',
url: '/DepartmentController/DeleteConformed/',
dataType: 'script',
success: function () {
alert('Are you sure you want to Delete this Department');
},
error: function (req, status, err) {
alert(err);
}
});
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
});
答案 2 :(得分:0)
当前您正在执行的操作会调用操作方法,并且只有在您确认对话框显示之后。我认为你需要反过来。假设您的视图中有一个按钮,导致用户删除某个记录,我会这样做。首先,我会在客户端有一个功能,只是要求用户确认他/她是否确定并将按钮设置为单击该功能。
function confirmDelete(){
$('<div id="dialog">').dialog({
text:"Are you sure you want to delete?",
modal:true,
buttons:[{
text: 'Yes',
click: yesDeleteIt()
},
{
text: 'No',
click: function ()
{
$(this).dialog('close');
}
}]
})
}
在你的yesDeleteIt函数中你可以去AJAX:
function yesDeleteIt(){
url= '/Department/DeleteConformed/';
$.post(url);//
}