用转发器转移的ASP.NET数据量非常高

时间:2010-09-03 07:15:57

标签: asp.net repeater data-transfer

我正忙着在ASP.NET 4.0中实现一个转发器来显示我从数据库中获取的数据,我没有开始构建分页,所以在开始分配的数据被转移。我填充了一个数据表并将其绑定为我的转发器的数据源。

我注意到以下内容,而页面正在忙着加载4000条记录(通往大部分地方)26mb被转移。这是分配,所以我很好奇和实现者显示相同的数据/ html与每个循环(ofc这不是一个很好的解决方案加载时间明智)。当页面加载时,这次转移了10.5 MB。

为什么使用转发器26 mb(24 with viewstate disabled)被转移,并且在创建带有循环10 mb的HTML时?无论如何都要优化转发器?我只实现了基本的(创建itemtemplate,从数据库填充数据表并将其绑定到转发器)

2 个答案:

答案 0 :(得分:0)

转发器只会输出您告诉它的代码。所以我会做@Aristos在评论中说的并比较返回的标记。如果您可以在两种情况下发布第一条记录的标记,那么我们可以回答您的问题。

另外一件事你可能会看到我已经过了几次。特别是在Firefox中,如果你有一个像下面那样的空的javascript链接,则会检索页面的整个标记而不是任何内容。现在这可能只是Firebug Add-On中的一个错误,但它可能解释了下载大小加倍。虽然我不确定为什么这会在没有看到某些代码的情况下使用转发器。值得记住。

<script type="text/javascript" src="" ></script>

答案 1 :(得分:0)

我遇到了类似的问题。我的第一道防线是删除中继器模板中的所有空白区域。在具有1600次重复的中继器上,这将数据量减少了大约一半(3.7 MB到1.6MB)。由于操作非常简单(在Visual Studio中为“编辑”->“高级”->“删除水平空白”),因此值得做第一件事。