在停留在同一页面上时从索引页面删除对象(MVC)

时间:2016-05-25 17:06:54

标签: asp.net asp.net-mvc

我正在尝试在MVC中显示一个项目列表,旁边有一个删除动作链接。如果用户希望删除该项目,则只需单击该项目即可执行以下操作: - > item get已删除 - >页面得到刷新

实际发生的情况如下: - >物品被正确查看

点击删除后会发生什么? - >链接更改为/ Home / Index / 1(转到正确的方法(删除) - >页面没有刷新,项目没有被删除但是再次加载非常快并且链接停留/主页/索引/ 1

代码

 public ActionResult Index()
    {
        List<Flight> Flights = db.Flights.ToList();

        return View(Vluchten);
    }

    [HttpPost, ActionName("Delete")]
    public ActionResult Index(int id)
    {
        Flight flight = db.Flights.Find(id);
        db.Flights.Remove(flight);
        db.SaveChanges();
        return RedirectToAction("Index","Index");
    }

查看代码:

//Items are shown and this is the last <td>:
 @Html.ActionLink("Delete","Index", new { id=item.Id })

我的问题似乎在哪里?

1 个答案:

答案 0 :(得分:1)

您的Delete方法正在寻找POST,ActionLink会执行GET。要简化此操作,只需更改方法签名:

public ActionResult Delete(int id)
{
    ... do all the things ...

    return RedirectToAction("Index","Index");
}

然后你的ActionLink:

@Html.ActionLink("Delete","Delete", new { id=item.Id })