我有一个ajaxToolkit:CollapsiblePanelExtender以及它控制的两个asp:UpdatePanels(单击时会展开另一个面板)。
在我开始使用计时器进行AJAX更新之前,效果很好。页面更新......并且CollapsiblePanelExtender折叠:-P
任何人都知道如何让这个控件保持它正在扩展的面板的状态?
答案 0 :(得分:3)
我记得遇到过这个问题。
CollapsiblePanelExtender有一个属性ClientState,似乎无法在ViewState中跟踪和维护。
您应该能够在HiddenField(或ViewState或Session,如果您愿意)中手动跟踪和维护该值,并在AJAX更新时将CPE.ClientState恢复为该值。
UPDATE
找到一个资源,表明您只需要设置Collapsed和ClientState属性。
http://weblogs.asp.net/ashicmahtab/archive/2008/11/21/act-collapsiblepanelextender-how-to-collapse-expand-programmatically.aspx
答案 1 :(得分:0)
我在另一种情况下遇到过这种情况......
您希望如何处理这种情况取决于您的情况,但在我的情况下,当用户展开或折叠面板时我cancel the asynchronous postback。因为它是一个定时器,每隔几秒更新一次当前值,所以无论如何它都会很快再次运行,所以我可以“丢失”一个。
或者,您可以使用面板的add_expanding和add_collapsing事件以及检查Sys.WebForms.PageRequestManager.getInstance()。get_isInAsyncPostBack()来禁用回发期间的展开/折叠功能。