0

6 つの項目を含むリストボックスがあります。リスト ボックスの選択されたインデックス変更イベントでは、ラベルのテキストが選択されたアイテムの値に変更されます。ユーザーは選択したアイテムを削除できます 1 2 またはすべて リストボックスのアイテムのみを選択できるようにしたいので、テキストボックスを使用していません。私のhtmlは

<asp:Label ID="lbl_mar_cat" runat="server" Width="100%" Font-Size="Small"></asp:Label>
<asp:ListBox ID="listbox_mar" runat="server" SelectionMode="Multiple" 
    CssClass="listbox" AutoPostBack="True" 
    onselectedindexchanged="BulletedList1_SelectedIndexChanged" >
    <asp:ListItem Value="Doesn't Matter">Doesn't Matter</asp:ListItem>
    <asp:ListItem>1</asp:ListItem>
    <asp:ListItem>2</asp:ListItem>
    <asp:ListItem>3</asp:ListItem>
    <asp:ListItem>Divorced</asp:ListItem>
</asp:ListBox>

私のサーバー側のコードは

 if (listbox_mar.SelectedValue == "Doesn't Matter")
    {
        lbl_mar_cat.Text = "Doesn't Matter";
    }
    else
    {
        if (lbl_mar_cat.Text == "")
        {
            lbl_mar_cat.Text = listbox_mar.SelectedValue.ToString();
        }
        else
        {
            lbl_mar_cat.Text += ", " + listbox_mar.SelectedValue.ToString();
        }
    }
4

1 に答える 1

1

これを試して:

protected void listbox_mar_SelectedIndexChanged(object sender, EventArgs e)
{
    for (int i = 0; i < listbox_mar.Items.Count; i++)
    {
        if (listbox_mar.Items[i].Selected)
        {
            lbl_mar_cat.Text += listbox_mar.Items[i].Text+ " , " ;
            listbox_mar.Items.Remove(listbox_mar.Items[i]);
        }
    }       
}
于 2013-09-28T10:57:10.673 に答える