ajaxToolkit: CollapsiblePanelExtender не поддерживает состояние раскрытия / свертывания при обновлении AJAX UpdatePanel - PullRequest
0 голосов
/ 12 ноября 2011

У меня есть ajaxToolkit: CollapsiblePanelExtender вместе с двумя asp: UpdatePanels, которыми он управляет (одна панель расширяет другую панель при щелчке).

Прекрасно работает, пока я не выполню обновление AJAX с запускаемого Таймера.Страница обновляется ... и CollapsiblePanelExtender рушится: -P

Кто-нибудь знает, как получить этот элемент управления для поддержания состояния расширяемой панели?

Ответы [ 2 ]

3 голосов
/ 12 ноября 2011

Я помню, как столкнулся с этой проблемой.

У CollapsiblePanelExtender есть свойство ClientState, которое, похоже, не отслеживается и не поддерживается в ViewState.

Вы должны иметь возможность вручную отслеживать и поддерживать значение в HiddenField (или ViewState илиСеанс, если хотите) и восстановите CPE.ClientState к этому значению после обновления AJAX.

ОБНОВЛЕНИЕ
Найден ресурс, который предлагает вам просто установить свойства Collapsed и ClientState.http://weblogs.asp.net/ashicmahtab/archive/2008/11/21/act-collapsiblepanelextender-how-to-collapse-expand-programmatically.aspx

0 голосов
/ 14 марта 2016

Я столкнулся с этим при других обстоятельствах ...

  1. Панель свернута, отметки таймера, и начинается частичная обратная передача
  2. Пользователь разворачивает панель во время выполнения обратной передачи
  3. Частичная обратная передача заканчивается, и состояние панели возвращается в «свернутый», поскольку viewstate поддерживается - он просто возвращается туда, где он был в начале частичной обратной передачи.

То, как вы хотите справиться с этим, зависит от ваших обстоятельств, но в моем случае я отменяю асинхронную обратную передачу , когда пользователь разворачивает или сворачивает панель.Так как это таймер, обновляющий текущие значения каждые несколько секунд, он все равно скоро снова будет работать, поэтому я могу его «потерять».

В качестве альтернативы, вы можете отключить функцию разворачивания / свертывания на время обратной передачи.с помощью событий панели add_expanding и add_collapsing и проверки Sys.WebForms.PageRequestManager.getInstance (). get_isInAsyncPostBack ().

...