簡體   English   中英

ajaxToolkit:CollapsiblePanelExtender在AJAX UpdatePanel刷新時不保持擴展/折疊狀態

[英]ajaxToolkit:CollapsiblePanelExtender doesn't maintain expand/collapse state on AJAX UpdatePanel refresh

我有一個ajaxToolkit:CollapsiblePanelExtender以及它控制的兩個asp:UpdatePanels(單擊時一個面板會展開另一個面板)。

效果很好,直到我從啟動的Timer執行AJAX更新為止。 頁面更新...,而CollapsiblePanelExtender折疊:-P

任何人都知道如何獲得此控件以維持其擴展面板的狀態嗎?

我記得遇到了這個確切的問題。

CollapsiblePanelExtender具有ClientState屬性,該屬性似乎未在ViewState中進行跟蹤和維護。

您應該能夠手動跟蹤和維護HiddenField(或ViewState或Session,如果願意)中的值,並在AJAX更新時將CPE.ClientState還原為該值。

更新
找到了一個資源,建議您只需設置Collapsed和ClientState屬性。 http://weblogs.asp.net/ashicmahtab/archive/2008/11/21/act-collapsiblepanelextender-how-to-collapse-expand-programmatically.aspx

我在另一種情況下遇到了這個問題...

  1. 面板已折疊計時器滴答聲開始,並且部分回發開始
  2. 回發進行期間,用戶展開面板
  3. 局部回傳結束,返回面板的狀態為“崩潰”,因為視圖狀態保持 -它只是回到它是在局部回傳的開始。

您要如何處理此操作取決於您的情況,但是在我的情況下,當用戶展開或折疊面板時,我取消了異步回發 由於它是一個計時器,每隔幾秒鍾更新一次當前值,因此無論如何它將很快再次運行,因此我可以“丟失”一個。

或者,您可以通過使用面板的add_expanding和add_collapsing事件並檢查Sys.WebForms.PageRequestManager.getInstance()。get_isInAsyncPostBack()在回發期間禁用擴展/折疊功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM