у меня есть метод в контроллере
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Delete(int id)
{
var contractor = await _contractorRepository.AsReadOnlyQueryable()
.FirstOrDefaultAsync(c => c.ContractorId == id);
if (contractor != null)
{
_contractorRepository.Delete(contractor);
await _unitOfWork.SaveChangesAsync();
SetSuccessToast("Удалён успешно", "bg-success");
TempData["DisplayToast"] = true;
}
return RedirectToAction(nameof(Index));
}
мне нужно настроить водтверждение для удаления при помощи sweetalert или аналога для asp.net core mvc
Для добавления подтверждения удаления с использованием SweetAlert в ASP.NET Core MVC, вам нужно будет внести изменения в представление, где вы вызываете метод удаления. Вот шаги, которые вам нужно выполнить:
_Layout.cshtml
или в конкретное представление.<!-- Подключение SweetAlert через CDN -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js"></script>
Index.cshtml
), добавьте кнопку или ссылку для удаления с обработчиком события onclick
, который будет вызывать SweetAlert.Пример кода для кнопки удаления:
@foreach (var contractor in Model)
{
<tr>
<td>@contractor.Name</td>
<td>
<button class="btn btn-danger" onclick="confirmDelete(@contractor.ContractorId)">Удалить</button>
</td>
</tr>
}
<script>
function confirmDelete(contractorId) {
swal({
title: "Вы уверены?",
text: "Вы не сможете восстановить это!",
icon: "warning",
buttons: true,
dangerMode: true,
})
.then((willDelete) => {
if (willDelete) {
// Если пользователь подтвердил, перенаправляем на метод удаления
window.location.href = '@Url.Action("Delete", "YourControllerName")/' + contractorId;
} else {
swal("Удаление отменено!");
}
});
}
</script>
Обновите метод Delete: Убедитесь, что ваш метод Delete
в контроллере принимает параметр id
и работает корректно, как вы уже сделали.
Проверьте работу: Запустите ваше приложение и проверьте, что при нажатии на кнопку "Удалить" появляется окно подтверждения. Если пользователь подтверждает, он будет перенаправлен на метод удаления.
Теперь у вас есть подтверждение удаления с использованием SweetAlert в вашем ASP.NET Core MVC приложении.