如何使用ASP.Net MVC删除项目

Joh*_*ohn 6 asp.net-mvc

在MVC中删除项目的最佳方法是什么?我有一个项目清单.每行都包含一个"删除"链接.我希望删除链接提示确认,然后从数据存储区中删除该项目并使用新数据刷新页面.

这是我的观看代码:

            <%: Ajax.ActionLink(
                "Delete"
                ,"Delete"
                , new { id=item.FooId}
                , new AjaxOptions()
                { 
                    Confirm="Are you sure that you want to delete this item?"
                    , HttpMethod = "post"} ) %>
Run Code Online (Sandbox Code Playgroud)

这是我的控制器代码:

    [HttpPost]
    public ActionResult Delete(int id)
    {
        try
        {
            var success = FooService.Deletefoo(id);
            return RedirectToAction("Index");
        }
        catch
        {
            return View();
        }
    }
Run Code Online (Sandbox Code Playgroud)

该记录正在删除,但页面不刷新.我唯一能想到的是RedirectToAction只适用于不同的页面,而不适用于同一页面.

如何刷新页面?

Ste*_*tti 6

您的页面没有刷新,因为AJAX调用不会遵循302 - 当整个浏览器刷新时使用RedirectToAction().如果您要将AJAX用于删除链接,那么请查看此帖子以获取所有示例代码.完成后,它会执行一个javascript window.location.reload(); 为了刷新页面.这遵循PRG模式.

另一种方法是不使用AJAX.这是一个例子.

总的来说,你很好地坚持使用你的AJAX方法.