【问题标题】:Binding MVC grid to stored procedure with large amount of data将 MVC 网格绑定到具有大量数据的存储过程
【发布时间】:2013-04-21 16:21:43
【问题描述】:

将 MVC 网格绑定到具有大量数据的存储过程:

我想将 MVC 网格绑定到从 SP 返回的对象结果

通常网格请求只需要向用户显示数据,当绑定到具有大量数据的表时,这将非常好,可以让网格快速且性能良好。

我有两种方法可以将 MVC 网格与 SP 绑定:

  1. 绑定到 SP 而不使用 .ToList() 它给我一个错误“查询的结果不能被枚举多次。”

  2. 使用.ToList()绑定到sp会解决这个错误,但它会先从数据库加载所有记录,性能会很差,网格加载、分页、排序和过滤会很慢。

请告诉我一个将 MVC 网格与 SP 绑定的解决方案,它返回大量数据并具有良好的性能。

谢谢

【问题讨论】:

    标签: model-view-controller telerik grid


    【解决方案1】:

    我过去使用过 jqgrid,jqgrid 实现了分页,因此并非网格的所有内容实际上都一次显示,您选择每页的行数,jqgrid 会自动将导航连接到您的控制器。网络上有很多这样的例子。如果您单击下一页,它将检索该页面的相应数据,依此类推。

    jqgrid 页面有很多加载数据的示例来说明这一点:http://www.trirand.com/blog/jqgrid/jqgrid.html,这是另一个页面,它讨论了如何在服务器端使用 mvc http://www.codersource.net/AspNet/ASPNetAdvanced/jqGridPaginginaspnetmvc.aspx 实现它,我相信如果你环顾四周你会发现很多关于如何使用这种方法的信息。

    最后,我通常会避免向用户显示大量数据,主要是因为人类很难理解超过 100 行的数据有什么方法可以在其中进行进一步搜索。所以我宁愿尝试缩小数据大小,让他们有办法进一步过滤它,但这并不总是可能的。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-10-03
      • 2012-02-09
      • 2013-08-04
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      • 2013-02-11
      • 2014-10-19
      • 1970-01-01
      相关资源
      最近更新 更多