2011-10-12 64 views
1

我使用嵌套中继器在网页上呈现1000+记录。我面临的问题是在页面上显示数据需要太多时间。asp.net嵌套的中继器和渲染问题

这里是中继器的概念布局。

- 主要

-Level 1 

     -Level 2 

       -Level 3 

       -Level 3 

     -Level 2 

-Level 1 

- 主要

当页面加载主要和级别1行示出。当用户点击第1级行时,出现第2级行,并且通过点击第2级,第3级行显示出来。

我一次加载数据到所有中继器,并使用jQuery隐藏/显示级别2和级别3行。

的问题是,我从数据库中一秒钟内得到的数据,但需要很长时间来渲染。

一个解决方案是,我加载页面加载主和1级行,并显示2级和3行基于用户点击。

是否有提高性能的任何其他方式?

在此先感谢

我加载数据到页面一次,然后躲在2级和3级。

+0

如果您不发布任何代码,我们应该如何帮助您提高性能? –

回答

1

显示超过1000条记录(假设每条记录有任何正常的复杂性)无论如何都需要很长时间。下面是一些建议:

  1. 斯普利特1级记录在几个页面上(如谷歌的结果),用户可以点击下页/上一页按钮,和/或让用户选择从下拉列表页面索引列出并从缓存/会话变量中加载该页面的结果。
  2. 当用户在级别1中选择特定项目时,将其重定向到加载所有级别2项目的单独页面,并为级别3执行相同的操作。
  3. 使用AJAX构建仅限级别2和级别3记录用户点击该特定级别后。
  4. 过滤器根据您出去到数据库,并建立这个页面之前,用户必须选择一些选项的结果。
+0

太棒了!感谢jwiscarson的有用的职位。我当然遵循你的提示,并可以看到性能的提高。 – Tauseef

0

是否有提高性能的任何其他方式?

禁用视图状态。只有拉下你需要的记录。结果页面。

此外,你不能只是做Ajax调用来拉下嵌套/详细的行“按需”。

+0

禁用viewstate是否会改善渲染性能?我知道这会减少页面大小,并因此减少“通过电线”的时间。也许有一些我不知道的视图状态和渲染之间的依赖关系? – mikemanne