I have seen this question in many forums in recent. Mainly this happens because of not setting the AutoPostBack property  to true. As a example when we add a check box to our web form AutoPostBack property’s default value is false. So even though we add code in the CheckedChanged method it will not execute when the check status change. So always remember to set the AutoPostBack to true in your web forms if you want to fire the events.

<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" />