可以在复选框列表中下拉列表控制复选框吗?

时间:2016-04-05 16:26:35

标签: c# asp.net

可以通过下拉列表选中或取消选中使用ObjectDatasource填充的复选框。下拉列表中的值表示设备,复选框表示这些设备的设置。两者都存储在DB中的一个表中。是否有可能实现这一目标。如果有的话,这种方法背后的逻辑是什么?我已经在网上查了一下,但我发现没有类似这个问题。没有运气已经3天了。我已经得到了存储设置 列表中的EquipDDL.SelectedValue。 但是我很难将这个列表的数据和复选框列表绑定在一起。

string UserDDL = AllEquipDDL.SelectedValue.ToString()
string query = "Select settingName from EquipSettings where EquipName=" + UserDDL;
cmd.Connection = conn;
cmd.CommandText = query;

SqlDataReader dr = cmd.ExecuteReader();

while (dr.Read())
{
    string myItem = dr["settingName"].ToString();

    settingSelectCheckBox.Items.Add(myItem);

    for (int i = 0; i <= settingSelectCheckBox.Items.Count; i++)
    // stucked in here...

ASP.NET:

<asp:CheckBoxList runat="server" ID="settingSelectCheckBox" DataSourceID="SettingsObjectDataSource"

<asp:DropDownList ID="AllEquipDDL" runat="server" DataSourceID="AllEquipSqlDataSource"

2 个答案:

答案 0 :(得分:0)

我解决问题的方法是使用Google Chrome开发工具识别所有复选框和所有ddl项目的ID,使用if语句,否则我可以检查并取消选中所需的复选框。

答案 1 :(得分:0)

  string myItem = dr["settingName"].ToString();
  settingSelectCheckBox.Items.Add(myItem);
 IEnumerable<string> CheckedItems = settingSelectCheckBox.Items.Cast<ListItem>()
                                   .Where(i => i.Selected)
                                   .Select(i => i.Value);

      foreach(string i in CheckedItems)
      {
        //do somthing
      }