ASP MVC AJAX链接完成后不更新页面

时间:2010-06-28 15:29:42

标签: asp.net-mvc asp.net-ajax

我正在关注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();

认为它可以解决问题,但它没有效果。该对象仍然被删除,页面永远不会刷新。

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

1 个答案:

答案 0 :(得分:1)

因为您要使用ajax删除,为什么不尝试从dom中删除对象或在成功时返回新数据。请查看以下示例:herehere