7

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

HTML 代码:

<asp:ListBox ID="lbto" class="chosen" runat="server" Width="450px" 
 Height="20px" SelectionMode="Multiple">
    <asp:ListItem>Mandy</asp:ListItem>
    <asp:ListItem>Amit</asp:ListItem>
    <asp:ListItem>sundar</asp:ListItem>
    <asp:ListItem>ragu</asp:ListItem>
    <asp:ListItem>raju</asp:ListItem>
</asp:ListBox>

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

4

4 回答 4

15

如何设置Selected-property 的ListItem

var names = new List<string>(new string[] { "ragu", "raju" });

foreach (var item in lbto.Items)
{
    if (names.Contains(item.Text))
        item.Selected = true;
}
于 2013-04-11T08:22:33.907 回答
2

你可以使用FindByValue方法

foreach (string item in stringList)
    lbxList.Items.FindByValue(item).Selected = true;
于 2016-01-18T15:35:21.957 回答
0
int[] IndexList = new int[] { 1, 3, 5, 7, 9 };
for (int i = 0; i < IndexList.Length; i++)
{
    if (listBox1.Items.Count > IndexList[i])
    {
        listBoxFX.SetSelected(IndexList[i], true);
    }
}
于 2022-01-29T15:29:30.980 回答
-1

使用一行 linq

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

或者

lbto.Items.OfType<string>().ForEach(i => i.Selected = names.Contains(i.Text));
于 2013-04-11T08:52:00.120 回答