• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 745
  • Last Modified:

Checkbox event handler not working

Not sure why, but my checkbox is not doing anything when checked, even though I have the code set to do something. See code below.
<asp:Label ID="lblNPC" runat="server" Text="Non-Public Contact Information" 
        AssociatedControlID="pnlNonPublicContact" CssClass="subheader" 
        Width="305px"></asp:Label>
    <asp:Panel ID="pnlNonPublicContact" runat="server" BorderStyle="None" 
        CssClass="panels">
        <p class="label_checkbox_pair">
            <asp:CheckBox ID="chkMSame" runat="server" CssClass="black12Bold" TabIndex="11" 
                Text="Address information is the Same As Above" 
                oncheckedchanged="chkMSame_CheckedChanged" />
        </p>
<div id="lineup">
     <p>
     <asp:Label ID="lblMAddress" runat="server" Text="Mailing Address" 
            AssociatedControlID="txtMAddress"></asp:Label>
    <asp:TextBox ID="txtMAddress" runat="server" TabIndex="12" Text=""></asp:TextBox></p>
    <p>
        <asp:Label ID="lblMCity" runat="server" AssociatedControlID="txtMCity" 
            Text="City"></asp:Label>
        <asp:TextBox ID="txtMCity" runat="server" TabIndex="13" Text=""></asp:TextBox>
    </p>
    <p>
        <asp:Label ID="lblMState" runat="server" AssociatedControlID="ddlMState" 
            Text="State"></asp:Label>
        <asp:DropDownList ID="ddlMState" runat="server" TabIndex="14" DataSourceID="dsStates"
               DataTextField="LIST_ITEM_NAME" DataValueField="LIST_ID" AppendDataBoundItems="True" 
               AutoPostBack="True">
            <asp:ListItem Text="" Value="0" />
        </asp:DropDownList>
    </p>
    <p>
        <asp:Label ID="lblMZip" runat="server" AssociatedControlID="txtMZip" 
            Text="Zip Code"></asp:Label>
        <asp:TextBox ID="txtMZip" runat="server" TabIndex="15" Text=""></asp:TextBox>
    </p>
    <p>
        <asp:Label ID="lblExecDir" runat="server" AssociatedControlID="txtExecDir" 
            Text="Executive Director"></asp:Label>
        <asp:TextBox ID="txtExecDir" runat="server" TabIndex="16" Text=""></asp:TextBox>
    </p>
    <p>
        <asp:Label ID="lblEDPhone" runat="server" AssociatedControlID="txtEDPhone" 
            Text="Executive Director Phone"></asp:Label>
        <asp:TextBox ID="txtEDPhone" runat="server" TabIndex="17" Text=""></asp:TextBox>
    </p>
    <p>
        <asp:Label ID="lblContact" runat="server" AssociatedControlID="txtContact" 
            Text="Contact Person"></asp:Label>
        <asp:TextBox ID="txtContact" runat="server" TabIndex="18" Text=""></asp:TextBox>
    </p>
        <p>
            <asp:Label ID="lblContactTitle" runat="server" 
                AssociatedControlID="txtContactTitle" 
                Text="Contact Person Title"></asp:Label>
            <asp:TextBox ID="txtContactTitle" runat="server" TabIndex="19" Text=""></asp:TextBox>
        </p>
    <p>
        <asp:Label ID="lblCPPhone" runat="server" AssociatedControlID="txtCPPhone" 
            Text="Contact Person Phone"></asp:Label>
        <asp:TextBox ID="txtCPPhone" runat="server" TabIndex="20" Text=""></asp:TextBox>
    </p>
</div>
    </asp:Panel>

Open in new window

protected void chkMSame_CheckedChanged(object sender, EventArgs e)
    {
          if (chkMSame.Checked == true)
            {
                txtMAddress.Text = txtSAddress.Text;
                txtMCity.Text = txtSCity.Text;
                ddlMState.SelectedValue = ddlSState.SelectedValue;
                txtMZip.Text = txtSZip.Text;
            }
    }

Open in new window

0
vcbertini
Asked:
vcbertini
  • 2
1 Solution
 
Rajkumar GsSoftware EngineerCommented:
You have to enable the 'AutoPostback' property of the checkbox to true. Then only server side events get triggered.

Raj
<asp:CheckBox ID="chkMSame" runat="server" CssClass="black12Bold" TabIndex="11"  AutoPostBack="true" 
                Text="Address information is the Same As Above" 
                OnCheckedChanged="chkMSame_CheckedChanged"  />

Open in new window

0
 
Anurag ThakurTechnical ManagerCommented:
by default autopostbacks are disabled on check boxes, radiobuttons, drop downs etc
0
 
vcbertiniAuthor Commented:
Ah! Thank you. I'm new to ASP.NET and still learning. Thanks for the information. Still grasping this Autopostback stuff and how it works exactly.
0
 
Rajkumar GsSoftware EngineerCommented:
Thanks for the points, vcbertini,

PostBack
PostBack is the name given to the process of submitting an ASP.NET page to the server for processing . PostBack is done if certain credentials of the page are to be checked against a database (such as verification of username and password). This is something that a client machine is not able to accomplish and thus these details have to be ‘posted back’ to the server
Courtesy:- http://www.dotnetspider.com/forum/158932-What-auto-post-back.aspx

Read these articles for more clearer idea about AutoPostBack
http://www.w3schools.com/aspnet/prop_webcontrol_textbox_autopostback.asp
http://www.dotnetspider.com/resources/189-AutoPostBack-What-How-works.aspx

Regards
Raj
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now