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