使用大量数据处理多个网格

时间:2011-09-23 03:31:27

标签: asp.net

我正在使用asp.net 4.0(浏览器IE8)开发一个网站。我的页面包含一个带有5个标签的tabcontainer。每个标签包含一个没有分页的网格,即每个网格可以包含250到300条记录。我按需加载标签但是一旦加载了所有标签。我的UI变得太慢了。我如何设法让我的用户界面更快更好更顺畅?

2 个答案:

答案 0 :(得分:2)

加载标签“按需”是什么意思?如果它只是意味着您在单击选项卡时填充网格数据,那么它就会解释您的问题。从本质上讲,ASP.NET数据绑定控件将其数据存储到视图状态,因此当您继续加载网格时,您的视图状态会不断增加,实质上,您的页面大小会使页面检索和回发速度变慢。 / p>

快速解决方案是禁用所有网格的视图状态,并始终在当前选项卡上绑定实际数据存储中的网格(您可以在会话或ASP.NET缓存中缓存服务器端的数据以提高性能)。这将确保一次只填充一个网格,并且视图状态没有负担。

替代技术将涉及仅为当前选项卡加载内容,但它涉及将内容安排到用户控件等中,并且在后期场景等中工作有点棘手。

相对简单的方法是使用您自己的control / html来呈现标签,每个标签都是对单独页面的GET请求。例如,如果您有四个选项卡,那么您将拥有一个提供公共布局的母版页,包括选项卡和代表每个选项卡的4个内容页。

如果要避免在制表符切换上页面刷新,则可以尝试使用AJAX请求加载内容页面。

答案 1 :(得分:-1)

我不确定这是否会对您的问题有所帮助,但一种选择是在用户切换到另一个标签时隐藏网格内容(style.display ='none')。这值得一试。