ASP.net复选框始终选中

时间:2010-09-30 10:51:55

标签: c# asp.net checkbox

<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 />

这背后是代码:

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

但它始终是真实的!是否检查!我知道我做错了,有人可以告诉我如何正确访问这个值吗?

2 个答案:

答案 0 :(得分:9)

像@Curt一样说,它看起来像你在page_load中有一些东西。如果您在Page_Load中设置了值,请确保它位于以下if语句

if(!Page.isPostBack)
{
    isSubscribed.Checked = true; 
}

答案 1 :(得分:1)

你正在以正确的方式做到这一点。布尔属性Checked应该只说True或False(我甚至测试过它)。你的Page_Load是否正在使用复选框?换句话说,当回发发生时(按钮点击的回发),以某种方式(重新)设置复选框的值。

在您的Page_Load方法中,您可以包含:

if (!this.IsPostBack)
{
// Set default or loaded values for controls
}