Вы можете использовать ajax для выдачи запроса на удаление, чтобы пользователь мог остаться в процессе удаления.После успешного выполнения ajax-запроса вы можете удалить строку таблицы из пользовательского интерфейса.
Сначала добавьте новый атрибут в тег привязки, который вы можете использовать для селектора jQuery, чтобы связать событие click.
<a asp-action="Delete" ajaxy asp-route-id="@item.BlogId">Delete</a>
Здесь я добавил атрибут с именем ajaxy
Теперь мы будем слушать событие click
в тегах привязки с этим атрибутом ajaxy
, останавливать нормальное поведение (переход кURL-адрес значения атрибута href) и вместо этого сделайте вызов ajax.Для подтверждения вы можете использовать window.confirm
API.
@section Scripts
{
<script>
$(function () {
$("a[ajaxy]").click(function (e) {
e.preventDefault();
if (window.confirm("Are you sure ?")) {
var $this = $(this);
var url = $this.attr("href");
$.post(url).done(function (res) {
$this.closest("tr").fadeOut(300, function (a) {
$(this).remove();
});
}).fail(function (jqXHR, textStatus, errorThrown) {
alert("error in ajax call!" + errorThrown);
})
}
});
});
</script>
}
Если ваше действие Delete
принимает параметр Id
.
[HttpPost]
public async Task<IActionResult> Delete(int id)
{
// to do : return something
}