2010-11-24 89 views
1

我正在使用帶有複選框的CollapsiblePanelExtender。我想讓面板展開/摺疊,因爲複選框被選中或取消選中。這可以工作,但我遇到的問題是,當頁面加載面板沒有相應擴展或摺疊從數據庫加載的狀態。換句話說,將CollapsiblePanelExtender int012¾的Collapsed屬性設置爲true或false似乎不會影響它。CollapsiblePanelExtender沒有反應

這是我有:

<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)工作。 任何人有任何想法如何得到這個工作?

回答

2

根據需要也改變CollapsiblePanelExtender的ClientState this link

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