优化的Web数据网格 - ASP .NET与ASP .NET MVC和jQuery

时间:2011-08-23 04:31:48

标签: .net asp.net asp.net-mvc optimization datagrid

我正在开发一个以网格形式显示数据的Web应用程序。我需要能够快速加载数千行。我还需要能够按多列对数据进行排序,并按搜索字符串过滤列。我目前正在使用ASP .NET MVC和Infragistics jQuery iGrid

目前我正在加载1000条记录,并且已经开始遇到一些性能问题。

我最初使用分页来使初始负载更快,但这意味着我需要进行排序/过滤服务器端,否则它只会对该页面上的记录进行排序/过滤,而不是整个数据源。

或者我可以将整个数据源加载到网格中(其中1000条记录需要约20秒才能绑定)然后进行所有排序/过滤客户端,这几乎是瞬间的。

我的同事认为我们应该废弃jQuery控件并使用ASP .NET controls代替。它们更成熟,功能更强大。

值得接受我同事的建议吗? ASP .NET控件是否比jQuery控件更快?我应该转向直接的ASP .NET项目还是值得尝试将ASP .NET控件合并到MVC项目中?

3 个答案:

答案 0 :(得分:2)

这不是一个成熟的项目,但它确实值得一看,所以查看Telerik Kendo UI和网格小部件,它基于jQuery。

http://demos.kendoui.com/grid/index.html

答案 1 :(得分:1)

我认为这取决于你的jQuery网格控件(如果它使用JSON进行分页,我认为没有性能问题)。 我在两个应用程序上使用两个不同的网格: - 带有ASP.NET的Telerik RadGrid,成熟,有很多选项,并且具有良好的服务器端代码,具有良好的性能 - 我自己的jquery网格实现,在服务器端使用JSON和ASP.NET MVC。更少的选择,但更好的性能。 如果没有分页,你就无法获得良好的性能,这就是重点。

我想,jQuery UI团队将在几周内提供一个新的网格组件。所以对你来说可能很酷。

答案 2 :(得分:0)

我猜你的问题与这篇文章有关:

jQuery Grid Binding in ASP .NET MVC is so slow

基本上,igGrid(Infragistics jQuery网格)的渲染和数据绑定占用空间非常小,并且对性能有影响。此外,如果您启用行虚拟化(也支持列虚拟化),那么在渲染速度方面,如果您有100条记录或10万条,则无关紧要。

如果您仍然遇到与渲染相关的问题,您还可以查看以下白皮书:

http://help.infragistics.com/Help/NetAdvantage/jQuery/2011.1/CLR4.0/html/igGrid_Performance_Guide.html

如果这有帮助,请告诉我。并感谢您的反馈。 天使