可以通过下拉列表选中或取消选中使用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"
答案 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
}