4

aspxページに以下のリストボックスがあります

<asp:ListBox ID="ddlCategory" runat="server" SelectionMode="Multiple" Width="200"
></asp:ListBox>

これをカテゴリデータセットにバインドしました。すべて正常に動作しています。ここで、サーバー側のこのリストボックスから選択したすべてのアイテムを取得したいと思います。それらを達成する方法はたくさんありました。しかし、私は各アイテムを繰り返したくありません。becozリストアイテムには1000のカテゴリがあります。

これを達成する方法はありますか?

4

3 に答える 3

4

あなたはこのようにこれを達成することができます

var selectedItems = from li in ddlCategory.Items.Cast<ListItem>()
                    where li.Selected == true
                    select li;

ここでそれを達成する別の方法を参照してください

http://frazsundal.blogspot.com/2012/05/fetch-aspnet-listbox-control-selected.html

于 2012-05-02T11:32:21.967 に答える
2

これがあなたを助けるサンプル例です。

Dim lst As New System.Web.UI.WebControls.ListBox
lst.Items.Add(New ListItem("1", 1))
lst.Items.Add(New ListItem("2", 2))
lst.Items.Add(New ListItem("3", 3))
lst.SelectionMode = ListSelectionMode.Multiple
lst.Items(0).Selected = True
lst.Items(2).Selected = True
Dim selectedItems As List(Of ListItem) = (From li In lst.Items.Cast(Of ListItem)() Where li.Selected = True Select li).ToList
于 2012-05-03T08:43:56.040 に答える
0

選択したアイテムのすべてのインデックスを取得できます。

        int [] indexes= ListBox1.GetSelectedIndices();
        for (int i = 0; i < indexes.Length; i++)
        {
            // ListBox1.Items[i]  ;
        }
于 2012-05-02T12:26:31.273 に答える