取消选中Checkbox不会触发OnCheckedChanged

时间:2013-10-03 15:58:21

标签: c# asp.net checkbox devexpress

选中复选框时,以下代码仅在c#中触发。不是再次取消选中时。那是为什么?

<dx:ASPxCheckBox ID="cbEmail" ClientInstanceName ="cbEmailI" runat="server" CheckState="Unchecked" Text="Hello"  OnCheckedChanged ="onCheckChangedCBEmail" AutoPostBack="true" Width="181px"> 
     <ClientSideEvents ValueChanged="OnValueChangedEmail"  Init="OnValueChangedEmail" /></dx:ASPxCheckBox> 

C#:

 protected void onCheckChangedCBEmail(object sender, EventArgs e)
    { 
        bool isEmailChecked = cbEmail.Checked;
    }
选中复选框时,

isEmailChecked会设置为true,但是一旦取消选中,它就不会设置为false。如果取消选中该复选框,则甚至不调用调试onCheckChangedCBEmail(s,e)

正在使用DevExpress。

2 个答案:

答案 0 :(得分:0)

尝试将其属性processOnServer设置为true

更新

将监视添加到检查的已清除属性的已检查属性中。

答案 1 :(得分:0)

您可以使用

AutoPostBack="True"

在CheckBox上。这将导致对Page_Load();

的新调用

或者您可以使用这样的回调面板。

     <dx:ASPxCallbackPanel runat="server" ID="CallBackPanel" lientInstanceName="CallBackPanel">
                <PanelCollection>
                    <dx:PanelContent ID="PanelContent" runat="server">

                                    <dx:ASPxCheckBox ID="checkboxid" runat="server" Text="Some Text"                                     OnValueChanged="CheckedChanged" AutoPostBack="False" >
                                        <ClientSideEvents CheckedChanged="function(s,e){CallBackPanel.PerformCallback();}"/>
</dx:ASPxCheckBox>
                    </dx:PanelContent>
                </PanelCollection>
            </dx:ASPxCallbackPanel>

服务器端:

 protected void CheckedChanged(object source, EventArgs e)
相关问题