我有一个 ListBox ,选择模式为多个。在后面的代码中,我想将一些值设置为选中。这些值存在于名为'Names'的 ListItems [] 中。
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 []名称包含'ragu'和'raju'。现在,当页面加载时, ListBox 应包含'ragu'和'raju'作为选定值。
答案 0 :(得分:13)
var names = new List<string>(new string[] { "ragu", "raju" });
foreach (var item in lbto.Items)
{
if (names.Contains(item.Text))
item.Selected = true;
}
答案 1 :(得分:1)
您可以使用FindByValue
方法
foreach (string item in stringList)
lbxList.Items.FindByValue(item).Selected = true;
答案 2 :(得分:-1)
使用一行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));