Когда я делаю нечто подобное с AJAX, я делаю две вещи:
- Удалить в базе данных
Удалить строку, используя JavaScript при обратном вызове, например
функция DeleteEmployeeDetails (roleId)
{
if (подтвердите («Вы уверены, что хотите удалить эту роль?»)) {
$ .get ("DeactivateRole? roleId =" + roleId, function () {
//roleList_callBack();
<pre><code> $('#row' + roleId).remove(); //Grab the row and delete it
//If you don't have specific Id's for every row but your button does you could use the $.parent() function.
$('#button'+roleId).parent().parent().remove(); //This finds the parent of the parent of the button and removes it. You can use as many parents as you'd like until you get a hold on the actual row, though this isn't always recommended due to if you change the design in some way your parent might not be correct.
});
}
}
Если удаление успешно выполнено в вашей базе данных, строка мгновенно исчезает, и вам не нужно перезагружать все данные из базы данных.
То, как вы удаляете строку в вашей базе данных, зависит от того, какую платформу вы используете. Если вы используете ADO.NET Entity Framework, вы можете сделать что-то вроде этого:
public ActionResult DeactivateRole (string roleId)
{
My_Namespace.Models.DataContext dc = new My_Namespace.Models.DataContext();
dc.DeleteObject(dc.Roles.FirstOrDefault(r => r.ID == roleId));
dc.SaveChanges();
return View();
}
Метод DeleteObject () принимает фактический объект-объект-базу данных в качестве аргумента, который он использует для удаления соответствующей записи в вашей базе данных.
Используемый мной аргумент (dc.Roles.FirstOrDefault (r => r.ID == roleId)) получает объект из таблицы ролей базы данных.