Я удалил операцию в mvc 4, используя jquery. Если я нажму кнопку "Удалить", я просто установил Isactive = 0 для определенного столбца.
Jquery
$('.btnDelete').live("click", function () {
var didconfirm = confirm("Are you sure ?");
debugger;
if (didconfirm == true)
{
var emaildata = $(this).closest('td').siblings(':first-child').text();
$.ajax({
type: "post",
url: "/Home/delete",
contentType: "application/json; chatset=utf-8",
//data: "{ 'EmailId' : '" + $(this).attr("data-member") + "'}",
data: "{ 'EmailId' : '" + emaildata + "'}",
confirm: "Need to delete this",
onSuccess: "deleteConfirmation",
success: function (data) {
alert("Record deleted Successfully");
}
});
}
});
Код действия
[HttpPost]
public ActionResult delete(string EmailId)
{
var linq = (from db in userobject.UserTables
where EmailId==db.EmailId
select db).FirstOrDefault();
if (linq.EmailId == EmailId)
{
linq.IsActive = false;
UpdateModel(linq);
userobject.SaveChanges();
}
return RedirectToAction("Home");
}
Эта работа отлично работает, но моя страница показывает ту же запись, когда я нажимаю некоторые другие функции. Как удалить удаленные записи, когда я нажимаю кнопку "Удалить". Заранее спасибо.
В вашей функции успеха удалите удаленный tr из таблицы (при условии, что у вас есть кнопка удаления в каждой строке таблицы):
$('.btnDelete').live("click", function () {
var $tr = $(this).closest('tr');
...
$.ajax({
...
success: function (data) {
$tr.remove();
alert("Record deleted Successfully");
}
попробуй это,
вам нужно создать динамический идентификатор для ваших строк таблицы, а затем просто.
$.ajax({
type: "post",
url: "/Home/delete",
contentType: "application/json; chatset=utf-8",
//data: "{ 'EmailId' : '" + $(this).attr("data-member") + "'}",
data: "{ 'EmailId' : '" + emaildata + "'}",
confirm: "Need to delete this",
onSuccess: "deleteConfirmation",
success: function (data) {
//when removed from DB.
$("#dynamic_row_id").remove();
}
});
Вы можете найти родительский tr из объекта $ (this) (я предполагаю, что ваша кнопка находится в элементе td), а затем удалите его после успешного вызова.
$('.btnDelete').live("click", function () {
var didconfirm = confirm("Are you sure ?");
debugger;
if (didconfirm == true)
{
var emaildata = $(this).closest('td').siblings(':first-child').text();
var curRow = $(this).parent('tr');
$.ajax({
type: "post",
url: "/Home/delete",
contentType: "application/json; chatset=utf-8",
//data: "{ 'EmailId' : '" + $(this).attr("data-member") + "'}",
data: "{ 'EmailId' : '" + emaildata + "'}",
confirm: "Need to delete this",
onSuccess: "deleteConfirmation",
success: function (data) {
alert("Record deleted Successfully");
curRow.remove();
}
});
}
});