填充逗号分隔为ASP.NET -C#中的多选择列表框



我有一个列表框,我想从逗号分离的字符串中选择,但我的代码不起作用。

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";

最新更新