1

ASP.net のラジオ ボタン リストに問題があります。何らかの理由で、ラジオ ボタン リストの 2 番目の項目 (インデックス 1) を選択できません。この項目を選択すると、選択した項目は 0 に戻ります (最初の項目)。アイテム)。コードをデバッグして選択したアイテムが何であるかを確認すると、2番目のアイテムを押しても、何らかの理由で0が表示されます(インデックスは1である必要があります)

ここで私が間違っているかもしれないことを誰でも考えることができますか??

Webフォーム側で私はこれを持っています

                        <asp:RadioButtonList ID="RadioButtonList1" runat="server" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" AutoPostBack="true">
                        </asp:RadioButtonList>

次に、スクリプト側で、次のように配列を介してラジオボタンリストにデータが入力されます

    for (i = 0; i < answersJArray[i].Length; i++)
    {
        RadioButtonList1.Items.Add(answersJArray[i].ToString());
    }
4

3 に答える 3

2

コードビハインドを少し見せていただくか、プロセスとイベントをもう少し詳しく説明していただければ幸いです。ラジオボタンリストの選択をデータバインドするか、ページの読み込み時にいくつかの基準で選択を初期化する必要があると、率直に言います。

これらのいずれかが正しい場合は、!IsPostBack 条件を挿入して、コントロールを不適切に再バインドしたり、選択したオプションをプログラムで再割り当てしたりして、潜在的なイベントを上書きしないようにする必要があります。

于 2010-02-27T13:40:48.853 に答える
1

はい、データをチェックする前にデータを再バインドしています (したがって、選択が変更されます)。

ページのライフサイクルのどの時点で値をチェックしていますか? また、いつデータバインディングを実行しますか?

マークアップにバインドできるのが最善です(何らかのデータソースを介して、私は通常 を使用しますObjectDataSourceが、何でも構いません)。

これを行わない場合は、ページが「PostBack」モードのときにデータバインディングを防止する必要があります。そうしないと、値をチェックするのが遅すぎます。

于 2010-02-27T13:39:10.067 に答える
0

私も同じ問題を抱えていました。listItem(2つの異なるlistItemの同じ値)の値が原因であることがわかりました。
listItemと によって構築されtextますvalue

  • text、ページに表示するために使用されます。
  • value他のものに使用されます。

同じ値を持つ 2 つの ListItems を追加すると、その動作が得られます。項目をクリックすると、最初の項目が選択されます。

于 2014-07-31T18:35:01.293 に答える