I have one ListBox with selection mode of multiple. In code behind, I want to set some values as selected. These values are present in a ListItems[] named 'Names'.
HTML code:
<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[] Names contains 'ragu' and 'raju'. Now, when the page loads, the ListBox should contain 'ragu' and 'raju' as selected values.
Alejandro Haro
You can use FindByValue
method
foreach (string item in stringList)
lbxList.Items.FindByValue(item).Selected = true;
Using One line of linq
lbto.Items.Cast<String>().ForEach(i => i.Selected = names.Contains(i.Text));
OR
lbto.Items.OfType<string>().ForEach(i => i.Selected = names.Contains(i.Text));
来源:https://stackoverflow.com/questions/15943883/how-to-set-multiple-items-as-selected-in-listbox