2012-03-28 20 views
0

我有一個頁面使用Ajax更新面板來處理一段數據,而不進行完整的回發。該面板包含大約八個字段,其中包括一個可以變得非常大(7500+項)的下拉列表。Ajax UpdatePanel w/large下拉列表 - 發佈時的滯後時間

當最初加載表單時,填充下拉列表可以爲加載時間增加幾秒鐘,而且我的用戶也可以。

但是,在用戶單擊按鈕將數據保存到更新面板後,我也看到一個明顯的暫停。我已經證明,滯後時間只發生在下拉列表中有大量數據時,並且似乎沒有任何特定的代碼行是負責任的......只是存在大量下拉菜單似乎在更新時間將事情弄糟。我嘗試關閉控件上的「EnableViewState」,而沒有任何影響。

對於大的下拉菜單,這是正常的嗎?我只需要忍受它和/或重新設計?或者任何人都可以推薦解決方案我發現奇怪的是,更新的延遲實際上比原始的加載時間延遲更長,並且我的客戶對重新設計的阻力很大。

回答

0

在UpdatePanel之外移動您的DropDownList(以及不需要在asyncpostback上重建的任何其他控件)。當UpdatePanel更新時,它會重建<ContentTemplate>內的控件的所有html。如果你不需要重建那個下拉菜單,它不應該在那裏。根據頁面佈局的不同,您可能需要使用多個UpdatePanel。