我有一个列表框,我想从逗号分离的字符串中选择,但我的代码不起作用。
aspx:
<asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple">
<asp:ListItem Value="1">aaa</asp:ListItem>
<asp:ListItem Value="2">bbb</asp:ListItem>
<asp:ListItem Value="3">ccc</asp:ListItem>
<asp:ListItem Value="4">ddd</asp:ListItem>
<asp:ListItem Value="5">eee</asp:ListItem>
<asp:ListItem Value="6">fff</asp:ListItem>
</asp:ListBox>
aspx.cs:(代码)
string listboxvalues = "2,1,5";
for (int i = 0; i < ListBox1.Items.Count; i++)
{
foreach (string category in listboxvalues.ToString().Split(','))
{
if (category != ListBox1.Items[i].Value) continue;
ListBox1.Items[i].Selected = true;
break;
}
}
预期结果:(预期结果是我期望的,但代码没有选择任何东西)
<asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple">
<asp:ListItem Value="1" Selected="True">aaa</asp:ListItem>
<asp:ListItem Value="2" Selected="True">bbb</asp:ListItem>
<asp:ListItem Value="3">ccc</asp:ListItem>
<asp:ListItem Value="4">ddd</asp:ListItem>
<asp:ListItem Value="5" Selected="True">eee</asp:ListItem>
<asp:ListItem Value="6">fff</asp:ListItem>
</asp:ListBox>
aspx.cs :(代码)
string listboxvalues = "2,1,5";
//declare a list
List<string> items = new List<string>()
for (int i = 0; i < ListBox1.Items.Count; i++)
{
foreach (string category in listboxvalues.ToString().Split(','))
{
if (category != ListBox1.Items[i].Value) continue;
items.Add(category);
break;
}
}
//then in your ListBox1
listBox1.DataSource = items;
listBox1.DisplayMember = "Item";
listBox1.ValueMember = "Value";