0

我有一个ListBox(with selectionMode=multiple)并将选定的值存储在 cookie 中。当用户回来时,我想为他提供再次选择的所有选项。

到目前为止我所做的:我获取所有选定的值并将索引“,”存储在cookie中的字符串中。

当用户回来时,我拆分字符串并循环遍历所有 ListItems 以再次选择每一个!

但有:

foreach (string str in selectedStr)
{
    listbox1.SelectedIndex = Int32.Parse(str);
}

我只得到一个(随机?)选定值。

谁能帮我重新选择所有选定的值?也许甚至是更好的解决方案?

4

2 回答 2

3

只需尝试使用FindByValueListview 的属性如下...

foreach (string str in selectedStr)
{
    if(listbox1.Items.FindByValue(str) != null) 
    { 
          listbox1.Items.FindByValue(str).Selected = true; 
    } 
}
于 2013-02-18T09:47:45.600 回答
2

您可以遍历拆分的字符串数组,并ListBox.Items[]根据索引访问并将Selected属性设置为 true。

foreach (string str in selectedStr)
{
    listbox1.Items[Int32.Parse(str)].Selected = true;
}

确保它str确实是一个整数并且它在范围内Items.Length

于 2013-02-18T09:26:57.167 回答