关于c#:如何设置ListBox中选择的多个项目?

How to set multiple items as selected in ListBox?

我有一个列表框,选择模式为多个。在后面的代码中,我想将一些值设置为选中。这些值存在于名为"Names"的 ListItems[] 中。

HTML 代码:

1
2
3
4
5
6
7
8
<asp:ListBox ID="lbto" class="chosen" runat="server" Width="450px"
 Height="20px" SelectionMode="Multiple">
    Mandy</asp:ListItem>
    Amit</asp:ListItem>
    sundar</asp:ListItem>
    ragu</asp:ListItem>
    raju</asp:ListItem>
</asp:ListBox>

ListItem[] 名称包含"ragu"和"raju"。现在,当页面加载时,ListBox 应该包含 'ragu' 和 'raju' 作为选定值。


如何设置 ListItemSelected 属性?

1
2
3
4
5
6
7
var names = new List<string>(new string[] {"ragu","raju" });

foreach (var item in lbto.Items)
{
    if (names.Contains(item.Text))
        item.Selected = true;
}


你可以使用FindByValue方法

1
2
foreach (string item in stringList)
    lbxList.Items.FindByValue(item).Selected = true;

使用一行linq

1
lbto.Items.Cast<String>().ForEach(i => i.Selected = names.Contains(i.Text));

1
lbto.Items.OfType<string>().ForEach(i => i.Selected = names.Contains(i.Text));