0

C# コードビハインドからドロップダウン項目にアクセスする際に問題があります

シナリオ: jquery/ajax 呼び出しを使用して、ユーザーの選択に基づいてドロップダウンを変更しています。コードビハインドからドロップダウン項目にアクセスしている間、それでも古いリストが保持されます。

C# コード ビハインドから更新されたドロップダウン リストにアクセスするのを手伝ってください。

サンプルコード

Jクエリコード:

$.ajax({
            type: 'POST',
            url: "Search.aspx/LoadNewOptions",
            contentType: 'application/json;charset=utf-8;',
            dataType: "json",
            data: "",
            success: function (data) {
                 $("#dropdown").empty();              

                $($.parseJSON(data.d)).each(function () {
                    var Option = $('<option />');

                   xOption.attr('value', this.value).text(this.label);
                    $('#dropdown').append(Option);

                    }
                });
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });

C# コード ビハインド コード:

dropdown.SelectedItem.Value.Trim()   // returns old value

別の解決策: 別の JavaScript 関数を作成し、選択したアイテムの値を隠し変数に格納します。コード ビハインドから隠し変数にアクセスする際の問題はありません。

4

2 に答える 2

0

サーバー側が新しい値を認識していないため、古い値が変更されなかった理由。サーバーに投稿しない限り、表示されません。

于 2012-07-31T21:04:17.783 に答える
0

あなたがそれを言わない限り、サーバーはクライアントで何が起こったのかを知りません。

ドロップダウンに要素を動的に追加しているようです。ページが次に実行されたときにリストを再バインドすると、クライアント上で変更されたことは認識されません。

  • 単純な状況では隠しフィールドで十分です

  • POST を調べて、リストに存在しない値が含まれているかどうかを確認し、含まれている場合は追加します。

于 2012-07-31T19:14:34.290 に答える