2011-09-23 22 views
0

我正在使用asp.net 4.0(瀏覽器IE8)開發一個網站。我的頁面包含一個帶有5個選項卡的tabcontainer。每個選項卡包含一個沒有分頁的網格,即每個網格可以包含250到300個記錄。我按需加載標籤,但一旦加載了所有標籤。我的用戶界面變得太慢了。我如何設法讓我的UI更快更順暢?處理數據量較大的多個網格

+0

對於那些來到這裏的人來說,實際爲你工作的解決方案是什麼? –

回答

2

加載標籤「On Demand」是什麼意思?如果這意味着您單擊選項卡時填充網格數據,則說明您的問題。本質上,ASP.NET數據綁定控件將其數據存儲到視圖狀態,因此,當您繼續加載網格時,視圖狀態不斷增加,本質上,頁面大小增大,頁面檢索和回退速度變慢。

快速解決方案將禁用所有網格的視圖狀態,並始終綁定來自實際數據存儲的當前選項卡上的網格(您可以在會話或ASP.NET緩存中將數據緩存在服務器端以提高性能)。這將確保一次只有一個網格被填充,並且視圖狀態沒有負擔。

替代技術將涉及目前唯一的選項卡中加載的內容,但它涉及的內容安排到用戶的控制等,並有點棘手,以獲得在後門柱,場景等

比較簡單的辦法就是用自己的控制工作/ html來呈現製表符,每個製表符都是一個GET請求到一個單獨的頁面。例如,如果您有四個選項卡,那麼您將擁有一個提供常見佈局的主頁面,其中包括選項卡和代表每個選項卡的4個內容頁面。

如果你想避免頁面刷新標籤切換,那麼你可以嘗試使用AJAX請求加載內容頁面。

-1

我不確定這是否會幫助您解決問題,但一種選擇是在用戶切換到另一個選項卡時隱藏網格內容(style.display ='none')。這值得一試。

+1

謝謝。但這個技巧不會幫到太多 – Tuscan

+1

你可以嘗試一個更輕的網格,比如Json和jquery綁定嗎?在這種情況下,瀏覽器也很重要。我見過類似的情況,Firefox是平穩的,即跳躍和緩慢。 –