保存CheckBox控件值

时间:2009-01-09 00:13:54

标签: asp.net database checkbox

我正在使用asp.net,我正在尝试将复选框值保存到数据库中。可以在数据库的同一字段中输入多个复选框。因此,例如,我有两个名称为“逗号”和“连字符”的复选框,如果用户同时检查这两个复选框,则数据库将存储值',',' - '。你是怎么做到的?

感谢

2 个答案:

答案 0 :(得分:1)

要将多个值保存到同一列,我建议使用标志枚举。这是code sample using checkboxes

如果您真的必须以逗号分隔的格式存储值,可以尝试这样的事情:

List<string> values = new List<string>();
if (cbComma.Checked) {
   values.Add("','");
}
...
string result = values.ToArray().Join(",");

答案 1 :(得分:0)

如果您可以使用枚举将值保存到数据库(作为int或适用于您将拥有的选项数量的任何内容),我同意David Thomas Garcia's建议。

如果这不是一个选项,并且您必须将它们作为字符串存储在数据库中,我会执行以下操作:


private void LoadData()
{
   string dbVal = DataAccess.GetDbVal(); //Get your value from the database.
   chkComma.Checked = dbVal.Contains(",");
   chkDash.Checked = dbVal.Contains("-");
}

private void SaveData()
{
   string dbVal = "";
   if(chkComma.Checked)
      dbVal += ",";
   if(chkDash.Checked)
      dbVal += "-";
   DataAccess.SaveDbVal(dbVal); //Send the value of dbVal to your data layer to be saved.
}

请注意,这不包括要保存在数据库中存储的值中的值的任何分隔,但是如果需要,可以使用List并执行。{Too}所提到的David Thomas Garcia。 。加入(”,”);在SaveData()和LoadData()中只需使dbVal成为List,语法不需要更改。