Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.net checkbox always checked

<asp:CheckBox ID="isSubscribed" runat="server" /> Subscribe to mailing list?<br /><br />
<asp:Button runat="server" CssClass="btn" ID="btnPrefUpdate" OnClick="updatePrefs" Text="Update" /><br /><br />

This fires in the code behind:

protected void updatePrefs(object sender, EventArgs e)
{
    Response.Write(isSubscribed.Checked);
    Response.End();
}

But it's always coming out as true! Whether it is checked or not! I know I'm doing it wrong, could someone show me how to access this value properly?

like image 583
Tom Gullen Avatar asked Sep 30 '10 10:09

Tom Gullen


2 Answers

like @Curt said, it looks to me like you have something in your page_load. if you set the value in Page_Load make sure it is inside the following if statement

if(!Page.isPostBack)
{
    isSubscribed.Checked = true; 
}
like image 161
TheLukeMcCarthy Avatar answered Oct 16 '22 09:10

TheLukeMcCarthy


You are doing it the right way. The boolean property Checked should just say True or False (I even tested it). Is your Page_Load doing something with the checkbox? In other words, is the value of the checkbox somehow (re)set when the post back is occuring (the postback of the button click).

In your Page_Load method you could include:

if (!this.IsPostBack)
{
// Set default or loaded values for controls
}
like image 41
Wim Haanstra Avatar answered Oct 16 '22 11:10

Wim Haanstra