首页 > 解决方案 > 删除数据后如何显示消息,asp.net core - MVC?

问题描述

控制器:

        [HttpPost]
        [Route("Student/Delete/{id:int}")]
        [ValidateAntiForgeryToken]
        public IActionResult DeleteConfirmed(int id)
        {

            var student = _context.Students.SingleOrDefault(s => s.StudentID == id);

            if (student == null)
            {
                return NotFound();
            }

            var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images", student.Image);

            if (System.IO.File.Exists(path))
            {
                System.IO.File.Delete(path);
            }

            _context.Students.Remove(student);

            _context.SaveChanges();

            return Ok();

        }

jQuery:

$(document).ready(function () {
    $(".btn").click(function () {

            var ID = $("input[type=hidden").attr("value");
            $.ajax({
                url: '/Student/Delete/' + ID,
                type: 'Post',
                dataType: "JSON",
                data = {id: ID},
                success: function (result) {
                    //if (data.success) {
                    $(".alert").text("OK")
                        setTimeout(() => {
                            window.location.href = "/Student";
                        }, 2000)
                    //}

                }
            });

    });
});

这是我的删除表格

<div class="container">
    <div class="alert alert-danger">Are you sure delete <strong>@Model.StudentName</strong>!</div>
    <form asp-action="Delete" method="post">
        @Html.AntiForgeryToken()
        <input asp-for="StudentID" />
        <input type="submit" value="Delete" class="btn btn-danger" />
    </form>
</div>

@section Scripts {
<script src="~/js/DeleteConfirmed.js"></script>
}

我尝试了很多次,但是当我删除数据时,它会重定向我 /Student/Delete/id 但页面为空。我想在 2 秒后在同一页面上向我显示成功消息,将我重定向到另一个页面,但我做不到

标签: jqueryasp.net-mvc

解决方案


推荐阅读