0

asp.net ドロップダウンに新しいオプションを追加し、このオプションを選択しています。ページがポストバックされると、JQuery を介して追加および選択されたオプションがコード ビハインドから反映されません。何が問題になる可能性がありますか。

オプションを追加して選択する以下のコード:

$("#DdlProductType").prepend($('<option>', { value: 'ALL', text: 'All' }));
$("#DdlProductType").prop('selectedIndex', 0);                

ポストバックの直前に、javascript アラートは正しいオプションが選択されていることを示します (ALL、インデックス 0)。しかし、コード ビハインドから DdlProductType の選択されたテキストとインデックスを取得すると、別の項目が選択されます。これは、ビューステートが更新されていないことに関係していると思います。

ありがとう。

4

1 に答える 1

0

そうです、asp.net inbuild コントロールは、viewstate を使用してそれ自体をシリアル化し、コード ビハインド ファイルに戻します。このため、クライアント側に追加されたアイテムはビューステートを更新しません。サーバー側でその値を取得していません。これを行う方法の 1 つは、Updatepanel を使用して、サーバー側でドロップダウンの値を追加することです。可能な方法の 1 つ (完全にはテストしていません) は、run at server true で通常のドロップダウン リストを使用することです。

于 2013-04-29T05:18:25.430 に答える