2010-06-28 48 views
0

我正在关注Stephen Walther的关于通过POST + AJAX安全删除的教程(在这里找到:http://stephenwalther.com/blog/archive/2009/01/21/asp.net-mvc-tip-46-ndash-donrsquot-use-delete-links-because.aspx),但我遇到了问题,他没有在他的文章中提到。ASP MVC AJAX链接完成后没有更新页面

我稍微修改了他的代码,这样我就有了一个包含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"); 
    } 

当点击删除链接,删除被调用时,对象被删除,并返回RedirectToAction。但是,页面不会更新。如果再次单击链接,则会引发异常(因为具有该ID的对象已被删除),并且页面更新。记住我正在使用partials,我改回

return PartialView(); 

想着它会解决问题,但它没有效果。该对象仍然被删除,页面从未刷新。

我很难过 - 不知道问题出在哪里,似乎是我的回报有问题,但我不确定。

回答

1

由于您使用ajax进行删除,为什么不尝试从dom中删除对象或在成功时返回新数据。看看这些例子:herehere