我有ListBox(with selectionMode=multiple)
并将所选值存储在Cookie中。
当用户回来时,我想再次为他提供所有选项。
到目前为止我做了什么:我得到所有选定的值并存储索引“,” - 以cookie中的字符串分隔。
当用户回来时,我拆分字符串并循环遍历所有ListItems以再次选择每一个!
但是:
foreach (string str in selectedStr)
{
listbox1.SelectedIndex = Int32.Parse(str);
}
我只获得一个(随机?)选定的值。
有人可以帮助我重新选择所有选定的值吗? 甚至可能是一个更好的解决方案?
答案 0 :(得分:3)
尝试使用Listview的FindByValue
属性,如下所示......
foreach (string str in selectedStr)
{
if(listbox1.Items.FindByValue(str) != null)
{
listbox1.Items.FindByValue(str).Selected = true;
}
}
答案 1 :(得分:2)
您可以遍历拆分的字符串数组,并根据索引访问ListBox.Items[]
并将Selected
属性设置为true。
foreach (string str in selectedStr)
{
listbox1.Items[Int32.Parse(str)].Selected = true;
}
确保str
确实是一个整数,并且其范围为Items.Length