我正在关注Stephen Walther关于通过POST + AJAX安全删除的教程(在这里找到:http://stephenwalther.com/blog/archive/2009/01/21/asp.net-mvc-tip-46-ndash-donrsquot-use-delete-links-because.aspx),但他在他的文章中没有提到问题。
我稍微修改了他的代码,因此我有一个Index.aspx文件,其中包含Movies.ascx局部视图。部分视图是强类型的,是我的删除链接所在的位置。删除逻辑是这样的:
public ActionResult Delete(int id)
{
var movieToDelete = (from m in _entities.MovieSet
where m.Id == id
select m).FirstOrDefault();
_entities.DeleteObject(movieToDelete);
_entities.SaveChanges();
return RedirectToAction("Index");
}
单击删除链接时,将调用Delete,删除对象,并返回RedirectToAction。但是,页面不会更新。如果再次单击该链接,则会引发异常(因为已删除具有该ID的对象),并且页面将更新。记住我正在处理偏见,我将返回更改为
return PartialView();
认为它可以解决问题,但它没有效果。该对象仍然被删除,页面永远不会刷新。
我很难过 - 不知道问题出在哪里,我的回归似乎有些不对劲,但我不确定。