4

チェックボックスリストでチェックされたアイテムを見つける際に問題に直面しています。実際には、チェックボックス リストのリスト アイテムはデータベースからロードされます。しかし、以下のコードを使用すると、リストでチェックされたアイテムを見つけることができず、アイテムは常に false を返します。以下は私のコードです。

 protected void GetCheckboxlist_Click(object sender, EventArgs e)
        {
            string s = string.Empty;
            for (int i = 0; i < CheckBoxList1.Items.Count; i++)
            {

            if (CheckBoxList1.Items[i].Selected)
            {

                // List the selected items
                s = s + CheckBoxList1.Items[i].Text + ",";

            }

        }
    }
4

1 に答える 1

1

あなたのコードは私には問題ないように見えますが、Linq代わりに使用してみてください。

IEnumerable<string> CheckedItems = CheckBoxList1.Items.Cast<ListItem>()
                                   .Where(i => i.Selected)
                                   .Select(i => i.Value);

その後、sこれらの値のような文字列を追加できます。

foreach(string i in CheckedItems)
        s += i + ",";

System.Linq名前空間を追加することを忘れないでください。

于 2013-04-14T10:29:25.487 に答える