2013-03-27 46 views
1

我使用的是Razor WebGrid,当点击按标题排序或单击页面链接时,我的控制器操作被反复调用。第一次它只被调用一次,但下一次它被重复调用。请任何人都可以帮忙。控制器动作重复调用

[HttpGet] 
     public ActionResult Index(int page = 1, string sort = "GridName", string sortDir = "ASC") 
     { 

      const int pageSize = 5; 
      string successMessage = string.Empty; 
      var message   = string.Empty; 
      int pageIndex1  = page - 1; 


      if (RenderFirstTime == 1) 
      { 
       GridCRUDCollection.UpdateGridModelCollection(null, pageSize, pageIndex1, sort, sortDir); 
       RenderFirstTime = 0; 
       return View(GridCRUDCollection); 
      } 
      else 
      { 
       GridCRUDCollection.UpdateGridModelCollection(null, pageSize, pageIndex1, sort, sortDir); 
       return PartialView("GridDetailsView", GridCRUDCollection); 
      } 
     } 
+1

这种情况发生在我身上的时候,因为在一个局部视图中放置了一个脚本文件..确保您可以多次下载脚本。 – 2013-03-27 22:55:50

+0

谢谢刘易斯。我从部分视图类中删除了脚本文件,但仍然通过反复调用控制器中的操作来依次渲染作为局部视图的网格。 – VVR147493 2013-03-28 12:51:59

回答

0

<img src="#" ... >的代码对我来说是什么。一旦我删除了#的控制器只被调用一次。网格可能正在生成并通过Javascript填充它们。诊断它的一种方法是使用LabJS来防止立即执行。