1

シンプルなチェックボックス リストがあり、forステートメントを使用して、選択した値を 1 つの文字列に取得しています。これは単純でなければなりませんが、選択されているかどうかを評価すると、すべてが false を返します。

ASPコード

<asp:CheckBoxList runat="server" ID="ckblInterests" ClientIDMode="Static" RepeatColumns="2" />

ASP.NET コード:

string interests = "";

for (int i = 0; i < ckblInterests.Items.Count; i++)
{
    if (ckblInterests.Items[i].Selected)
        {
            interests += ckblInterests.Items[i].Value + ", ";
        }
    }
}

insideifステートメントは、ループするたびに false と評価されます。リスト内の 10 項目を正しくカウントします。私はとても単純なことに困惑しています。if ステートメントが false を返す原因を特定できる人はいますか?

4

4 に答える 4

1

ページの読み込み (またはその他のイベント) でリストにチェックボックスを動的に追加するコードがあります。これにより、これらのチェックボックスがクリアされ、ポストバックごとに再度追加された状態になります。コンテンツをクリアしないように、ページの読み込みにはおそらくそのセクションの周りに if(!page.ispostback) が必要です。

于 2013-05-17T20:53:00.510 に答える
0

ページの読み込み時にチェックボックス リストをバインドするときに、このチェックを設定したことを確認してください。

これでうまくいくはずです

于 2015-08-28T03:58:53.673 に答える
-2

SELECTED ではなく、CHECKED プロパティを確認する必要があると思います。

于 2013-05-17T20:24:28.127 に答える