CollapsiblePanelExtender не реагирует - PullRequest
1 голос
/ 24 ноября 2010

Я использую CollapsiblePanelExtender с флажком. Я хотел бы сделать панель развернуть / свернуть, поскольку флажок установлен и снят. Это работает, но проблема, с которой я сталкиваюсь, заключается в том, что при загрузке страницы панель не разворачивается и не сворачивается в зависимости от состояния, которое загружается из БД. Другими словами, установка свойства Collapsed CollapsiblePanelExtender int для page_load в true или false, похоже, не влияет на него.

Вот что у меня есть:

<asp:CheckBox runat="server" ID="ServiceCheckBox" AutoPostBack="true" Enabled="true"
OnCheckedChanged="CheckBoxCheckedStatusChanged" />

<asp:CollapsiblePanelExtender
ID="ServiceCollapsiblePanelExtender"
runat="server"
TargetControlID ="ServicePanel"
CollapsedSize ="0"
Collapsed ="true"
CollapseControlID ="ServiceCheckBox"
ExpandControlID ="ServiceCheckBox" >

   //codebehind
    protected new void Page_Load(object sender, EventArgs e)
    {
      if (!IsPostBack)
      {
        ServiceCheckBox.Checked = GetState();

        ServiceCollapsiblePanelExtender.Collapsed = !ServiceCheckBox.Checked;
      }
   }

Я бы предпочел, чтобы это работало с серверными событиями вместо клиентских сценариев (js). Кто-нибудь есть идеи о том, как заставить это работать?

1 Ответ

2 голосов
/ 24 ноября 2010

Согласно этой ссылке вам также необходимо изменить ClientState объекта CollapsiblePanelExtender:

if(ServiceCheckBox.Checked)
{
    ServiceCollapsiblePanelExtender.Collapsed = false;
    ServiceCollapsiblePanelExtender.ClientState = "false";
}
else
{
    ServiceCollapsiblePanelExtender.Collapsed = true;
    ServiceCollapsiblePanelExtender.ClientState = "true";
}
...