我正在尝试在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 })
我的问题似乎在哪里?
答案 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 })