【发布时间】:2010-06-28 15:29:42
【问题描述】:
我正在关注 Stephen Walther 关于通过 POST + AJAX 安全删除的教程(可在此处找到:http://stephenwalther.com/blog/archive/2009/01/21/asp.net-mvc-tip-46-ndash-donrsquot-use-delete-links-because.aspx),但遇到了他在文章中未提及的问题。
我稍微修改了他的代码,这样我就有了一个包含 Movies.ascx 部分视图的 Index.aspx 文件。部分视图是强类型的,是我的删除链接所在的位置。删除逻辑是这样的:
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();
认为它会解决问题,但它没有效果。该对象仍被删除,页面从未刷新。
我很困惑 - 目前不确定问题出在哪里,我的退货似乎有问题,但我不确定。
【问题讨论】: