2011-08-03 9 views
0

Webサービス(.asmxファイル)へのAJAXコールバックを使用して、実行時に2つのドロップダウンボックスとCheckBoxListコントロールを生成します。このサービスは、サーバー上に2つのDropdownsとCheckBoxListを作成し、レンダリングされたhtmlを、javascript関数を使用して実行時にWebページに挿入される文字列として返します。ASP.NET AJAXで作成されたコントロールをアクセスするには

私は2つのドロップダウンボックスの値を取得し、チェックボックスのいずれか(もしあれば)にチェックを入れたいと思います。

私は、実行時にページに注入されたHTMLがポストバック中にサーバーに返送されないと考えていますか?これが事実なら、私の価値を得る最も賢明な方法は何でしょうか?

ダイナミックコントロールの値を取得する最も良い方法は、JavaScriptを使用して値を読み取り、ポストバックの直前のページクラスの一部である非表示フィールドに書き込むことだと考えています。

これを行うより良い方法がある場合は、共有してください!

+0

私が考えることができる3つの一般的な方法は次のとおりです。 1 AJAXでフォーム全体をポストバックする2 Request.Formコレクションを使用して現在の値を取得する(すべてのコントロールで機能しない、ほとんどのコントロールでテキストプロパティで機能する)3非表示の入力フィールドにデータを格納するクッキー。 – Zachary

答えて

1
ポストバック中に値を取得する一つの方法は、要素名として提案隠しフィールドに値を保存することである

は、ページ上の見えない - バックポストする前に、あなたのJavaScriptで

<asp:HiddenField id="countrySelected" value="" />

あなたが使用する値を選択することができ、あなたの分離コードで

document.getElementById('countrySelected').value = 'USA';

- - あなたの必要な情報を取り込むことができます

countrySelected.value

1

Webサービスは、後でそれらがサーバーコントロールではないため、サーバは、それらが存在する知る方法がないページに注入されたHTMLを生成するため。隠されたhtml要素は私にこのような場合に行く方法と思われます。

関連する問題