2016-04-21 51 views
0

我在ASP.NET MVC中使用Angular。我有一个方法在我的MVC控制器返回45,557条记录。该方法返回记录,但它永远不会将它们返回给我的Angular Controller。使用筛选器可以返回20,000条记录,但是当用户单击“ALL”返回整个记录集(45,557条记录)时,成功对象永远不会被击中。我假设这意味着结果集的大小有限制。如果是这样,有人知道它是什么吗?如果不是,这里有什么问题?Angular 45000 + results

这里是我的角度控制器代码:

$scope.waitsearch = generalsearchService.submitSearch($scope.form) 
     .success(function (data) { 
      $scope.gridOptions.data = data.SearchResults; 
     }); 

的“.success”对象永不再来的充分记录。如果记录集是它的一个子集。

的MVC控制器代码:

   var results = await SearchClient.PostGeneralSearch(strSqlQuery, 50000, 1); 
      return Json(results, JsonRequestBehavior.AllowGet); 
在上面的代码

,strSqlQuery是一个动态的SQL查询字符串,50000是记录的最大数目返回,1是“页”号作为存储过程在api中设置为一次获得50000条记录。

任何帮助,非常感谢。

+0

45,557条记录的文件?哼!哎呀!我希望你没有45,557手表! – Shyju

+0

如果JSON超出允许的最大大小,请查看该链接:http://stackoverflow.com/questions/23451217/json-data-size-limit –

回答

0

这个问题的答案Size Limit由Alex Art建议解决了我的问题。希望这可以帮助别人。快乐的编码!

0

返回的数据大小太大,无法处理。你的对象有多少个属性?它也可以扩展JSON的大小。我不会出现这种情况,仅仅因为单次加载所有45.5k记录并不是一个好的UX。带上您的有效载荷管理20K等

一些方法,

  1. 利用无限滚动和使用一批2K记录。所以这加载所有数据作为用户滚动通过,并在 角度可管理。

  2. 使用批处理方法从角度加载数据。