Почему после выполнения метода не обновляется страница
HTML
@model IEnumerable<Worker>
@{
ViewData["Title"] = "Worker";
}
<form>
<table class ="tabel-work" style="width:100%">
<thead class="thead-work">
<tr>
<th class="th-worker">
Name
</th>
<th class="th-worker">
Surname
</th>
<th class="th-worker">
Post
</th>
<th class="th-worker">
E-mail
</th>
<th class="th-worker">
Phone
</th>
<th>
<button class="form-button-reg" asp-area="" asp-controller="Registration" type="submit">Add</button>
</th>
</tr>
</thead>
<tbody>
@foreach(var obj in Model)
{
<tr>
<td class="td-worker">
@obj.WorkerName
</td>
<td class="td-worker">
@obj.WorkerSurname
</td>
<td class="td-worker">
@obj.WorkerPost
</td>
<td class="td-worker">
@obj.WorkerEmail
</td>
<td class="td-worker">
@obj.WorkerPhone
</td>
<td>
<button class="form-button-reg" onclick="deleteWorker('@obj.IDWorker')">Delete</button>
</td>
</tr>
}
</tbody>
</table>
</form>
<script>
function deleteWorker(workerId) {
if (confirm('Are you sure you want to delete this worker?')) {
fetch('@Url.Action("Delete", "Workers")', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: 'workerId=' + encodeURIComponent(workerId),
})
.then(response => {
if (response.ok) {
// Обработайте успешное удаление здесь
alert('Worker deleted successfully');
// Если нужно обновить данные на странице, добавьте соответствующий код
} else {
// Обработайте ошибку удаления здесь
alert('Failed to delete worker');
}
});
}
}
</script>
C#
using Microsoft.AspNetCore.Mvc;
using Pizzeria.Models;
using Pizzeria.Services;
using System.Collections.Generic;
namespace Pizzeria.Controllers
{
public class WorkersController : Controller
{
private readonly ApplicationDbContext _db;
public WorkersController(ApplicationDbContext db)
{
_db = db;
}
public IActionResult Index()
{
IEnumerable<Worker> objCategoryList = _db.Workers;
return View(objCategoryList);
}
[HttpPost]
public IActionResult Delete(string workerId)
{
if (!string.IsNullOrEmpty(workerId))
{
var workerToDelete = _db.Workers.Find(workerId);
if (workerToDelete != null)
{
_db.Workers.Remove(workerToDelete);
_db.SaveChanges();
IEnumerable<Worker> objCategoryList = _db.Workers;
return View(objCategoryList);
}
}
else
{
// В случае отсутствия работника с указанным ID, возможно, вы захотите вернуть ошибку
return BadRequest("Worker not found");
}
// Если deleteAction не задан, выполните другие действия (если необходимо)
// ...
// После выполнения других действий перенаправьте обратно на страницу с таблицей
return RedirectToAction("Index");
}
}
}
После нажатия кнопки Delete данные удаляются, но не обновляются на странице, почему ак происходит?