ASP.NET中的gridview数据绑定与循环之间的性能差异

时间:2010-03-05 04:23:19

标签: asp.net gridview performance

如果我将数据绑定到gridview与通过数据循环并构建Html有多大差异?

我目前在gridview的ItemTemplate中使用html表,并在该表中使用<%#Eval("ID")%>来绑定来自iQueryable的数据

如果我遍历IQueryable并从后面的代码中构建html,该怎么办?如果有人做了这样的比较或者知道应该采用哪种方式,性能差异是多少?

感谢。

我使用的是Asp.net / C#

1 个答案:

答案 0 :(得分:1)

一般而言,避免复杂控件和绑定的性能优势在单个页面级别上无法衡量,因此无关紧要。使用现有控件和更简单的api(例如数据绑定)节省的开发人员时间大大超过了小的性能损失。

在我们的主应用程序中,我们在整个ASP.NET页面中使用复杂的控件和数据绑定。整页生命周期的数据绑定部分处理整个页面的时间不到2%。它远远低于页面的I / O,尤其是数据库调用。

报告中有一个例外。我们使用的报告引擎支持直接在循环中设置数据或使用数据绑定。数据绑定更容易。但是,由于某些报告涉及超过300,000个绑定数据项的200多个页面,因此在这种情况下数据绑定的性能损失是显而易见的。在我们的报告中,我们不使用数据绑定。