如何确定复选框是选中还是未选中?非常困惑为什么这不起作用 - 它是如此简单!
在我的网络表单上:
<asp:CheckBox ID="DraftCheckBox" runat="server" Text="Save as Draft?" />
<asp:Button ID="PublishButton" runat="server" Text="Save" CssClass="publish" />
在我的保存按钮的单击事件中运行的代码:
void PublishButton_Click(object sender, EventArgs e)
{
if (DraftCheckBox.Checked)
{
newsItem.IsDraft = 1;
}
}
调试时,当我在浏览器中选中复选框时,它永远不会进入 If 语句。想法?!
我认为可能还有其他一些代码会影响到这一点,如下所示......
在 Page_load 我有以下内容:
PublishButton.Click += new EventHandler(PublishButton_Click);
if (newsItem.IsDraft == 1)
{
DraftCheckBox.Checked = true;
}
else
{
DraftCheckBox.Checked = false;
}
newsItem 是我的数据对象,我需要相应地设置复选框选中状态。当点击保存按钮时,我需要根据复选框的选中状态更新 IsDraft 属性:
void PublishButton_Click(object sender, EventArgs e)
{
if (IsValid)
{
newsItem.Title = TitleTextBox.Text.Trim();
newsItem.Content = ContentTextBox.Text.Trim();
if (DraftCheckBox.Checked)
{
newsItem.IsDraft = 1;
}
else
{
newsItem.IsDraft = 0;
}
dataContext.SubmitChanges();
}
}
因此,isDraft = 1 应该等于选中了复选框,否则应该取消选中复选框。目前,它没有显示这一点。