Tom Gullen
Tom Gullen

Reputation: 61773

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?

Upvotes: 5

Views: 6695

Answers (2)

Wim Haanstra
Wim Haanstra

Reputation: 5998

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
}

Upvotes: 1

TheLukeMcCarthy
TheLukeMcCarthy

Reputation: 2283

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; 
}

Upvotes: 9

Related Questions