【发布时间】:2015-03-26 22:17:42
【问题描述】:
我想匹配来自阅读器和复选框的值以更改复选框列表项的选定值。但它不起作用,我不知道该怎么办?谢谢。
while (reader.Read())
{
CheckBoxList1.Items.FindByValue(reader["malzeme_id"].ToString()).Selected = true;
}
我也试过了,
while (reader.Read())
{
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Value.Equals(reader["malzeme_id"].ToString()))
{
CheckBoxList1.Items[i].Selected = Convert.ToBoolean( reader["isSelected"]);
}
}
【问题讨论】:
-
定义“不起作用”。它不编译吗?它会抛出异常吗?它会产生错误的结果吗?什么都没有发生?
-
代码有错误。它是土耳其语,我将其翻译为“对象不是由对象的示例设置的”
-
@lkalay 我想那是因为 FindByValue 返回 null 然后您尝试在其上设置 Selected 属性-您调试了吗? (即分成 2 个步骤,看看 FindByValue 返回什么)
-
如何在复选框列表中搜索或查找项目值以更改所选值
-
@lkalay 你的做法是正确的——看起来无论 reader["malzeme_id"] 解析为什么都不在列表中。我想它会区分大小写 - 这可能是问题吗?你能显示你的列表中的内容以及 reader["malzeme_id"] 是什么吗?
标签: c# asp.net checkbox checkboxlist reader