Почему после выполнения метода не обновляется страница

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 данные удаляются, но не обновляются на странице, почему ак происходит?


Ответы (0 шт):