嘿,我有一个填充了数据库的CheckBoxList。当我对单个复选框的状态(选中或取消选中)进行任何更改时,在我提交表单时不会返回它。
最简单的形式,我有:
<asp:CheckBoxList runat="server" ID="listEmployes" RepeatDirection="Horizontal">
</asp:CheckBoxList>
C#:
protected void btnSubmit_Click(object sender, EventArgs e)
{
_connection.Open();
var employes = listEmployes.Items;
foreach (ListItem employe in employes)
{
if (employe.Selected)
{
_command = new MySqlCommand(String.Format("INSERT IGNORE INTO Liste_Employes (Projet_ID, User_ID) VALUES ({0}, {1})", _projetId, employe.Value), _connection);
}
else
{
_command = new MySqlCommand(String.Format("DELETE IGNORE FROM Liste_Employes WHERE Projet_ID = {0} AND User_ID = {1}", _projetId, employe.Value), _connection);
}
_command.ExecuteNonQuery();
}
}
我错过了什么吗?感谢。
答案 0 :(得分:2)
确保你的CheckBoxList没有在回发上反弹(如果你是从代码中进行数据绑定)。
If(!Page.IsPostBack)
{
// Bind code
}
答案 1 :(得分:1)
Page_Load
方法中包含哪些内容?我猜你在绑定复选框之前没有检查!Page.IsPostBack
。