当用作CollapsiblePanelExtender的控件时,不会选中/取消选中复选框

时间:2012-10-29 11:11:48

标签: c# asp.net collapsiblepanelextender

有没有其他人尝试使用复选框作为控件来折叠/展开AJAX CollapsiblePanelExtender?

当我点击复选框时,面板会折叠/展开。但是复选框本身不会被检查。

这也发生在你身上了吗?

我知道有一项工作可以解决这个问题,但在理解了原因之前我无法休息。

以下是代码,以防万一有人想看到:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>    
<div class="standard"> 
    <asp:UpdatePanel ID="UpdatePanelBespokeRates" runat="server">
        <ContentTemplate>       
            <asp:CheckBox ID="checkbespoke" runat="server" AutoPostBack="False" Checked="false" Text="Click and unclick this checkbox" />
            </p>
            <asp:UpdatePanel ID="UpdatePanelBespoke" runat="server">
                <ContentTemplate>

                    <asp:CollapsiblePanelExtender ID="CollapsibleExtender2" runat="server" 
                        TargetControlID="PnlBespokeRates" CollapseControlID="checkbespoke" 
                        CollapsedSize="1" ExpandControlID="checkbespoke" SuppressPostBack="True" 
                        Enabled="True" Collapsed="True"></asp:CollapsiblePanelExtender>

                    <asp:Panel ID="PnlBespokeRates" runat="server" Visible="True" Height="300px" Width="200px" BackColor="White">
                         <p>Another Hello World text</p>   
                    </asp:Panel> 

                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="checkbespoke" EventName="CheckedChanged" />
                </Triggers>
            </asp:UpdatePanel>

        </ContentTemplate>
    </asp:UpdatePanel>
    <p>
</div>
背后的代码中的

是:

protected void Page_Load(object sender, EventArgs e)
    {
        CollapsibleExtender2.ClientState = "true";
        CollapsibleExtender2.Collapsed = true;
    }

2 个答案:

答案 0 :(得分:0)

尝试从asp:CheckBox声明中删除Checked =“false”。我怀疑回发触发器可能正在重新加载复选框并重新初始化它。

答案 1 :(得分:0)

有效的是:

CollapsiblePanelExtender属性中的

SuppressPostback="false"

复选框控件

中的

Autopostback="true"

删除所有手册C#

然后瞧。