jquery コードを使用してビューをポップアップしています。このポップアップからデータを削除したいのですが、次のコードを使用すると、削除アクションを実行せずにポップアップのみが表示されます。jquery コードを以下に示します。
$(document).ready(function (){
$('.del').click(function (e) {
e.preventDefault();
custom_confirm('pleaseNote:',
function () {
var sel = $(this).attr('href');
$.ajax({
url: '/default1/Delete/',
type: 'POST',
data: { id: sel },
success: function (result) {
$(this).remove();
}, error: function (result) {
alert("error");
}
});
});
});
function custom_confirm(prompt, action, title) {
$("#confirm").dialog({
buttons: {
'Proceed': function () {
$(this).dialog('close');
$('#confirm').dialog({ modal: true });
action();
},
'Cancel': function () {
$(this).dialog('close');
}
}
});
}
})
そして私のビューコードは
@Html.ActionLink("Delete","Delete",new { id = item.studentID }, new { @class="del"})
<div id="confirm" style="display: none"></div>
コントローラーのアクションは
[HttpPost]
public ActionResult DeleteConfirmed(int id=0)
{
student student = db.students.Find(id);
if (student == null)
{
return HttpNotFound();
}
db.students.Remove(student);
db.SaveChanges();
return RedirectToAction("Index");