2009-08-25 5 views
0

2つのドロップダウンリストを持つページを開発する必要があります。ドロップダウンリスト2のJSONまたはポストバックメソッドを使用していますか?

オプションは、私はあなたが何を選択するドロップダウンリスト2を変更するには2つの方法を持っているドロップダウンリスト1.

の選択に基づいていますか?

1: ポストバックユーザー選択ドロップダウンリスト1と変更ドロップダウンリスト2.
長所:
はasp.netのバリデータに
短所使用することができ、ポストバック機能を使用することができます。
がサーバと通信する必要があります(詳細はトラフィック)
ユーザーはステータスバーにページの読み込みを表示します。

2:
は、ページをロードするときにJSONオブジェクト内のすべてのデータ(ない非常に多くのデータ)を取得し、JavaScriptを使用して、ドロップダウンリスト2を変更します。
長所:
は、サーバ(以下、トラフィック)と通信する必要はありません
短所:
は、サーバーの検証を書くためにポストバック機能やバリ、より面倒を使用することはできません。

また、私は通常、次のようにページにJSONオブジェクトを記述します。

var locations = <asp:Literal runat="server" id="litLocation" text="[]" /> 

をしてデータをdatacontractjsonserializerによって処理された後をPage_Loadで「litLocation」に設定してください。 同じ方法でやりますか?

答えて

0

私は2番目のオプションが好きです。ページ全体をリロードして1つのドロップダウンリストを更新する必要はありません。私はjQueryのクライアント側の開発者もやっています。 jQueryの最初のドロップダウンの変更イベントに対してクライアント側の検証を行い、ASP.NETでフォームのサブミットの検証を保持することができます。

jQuery用のselectChainプラグイン(デモのhere)をご覧ください。

0

GETメソッドを使用して選択ボックスをクリックし、選択ボックスに記入してjsonを応答として使用して、オプションを選択した後、2番目の選択ボックスに別のAjaxリクエストがあります。

オプションを追加する場合は、サーバーを変更するだけですべてが集中管理されるため、スケーラビリティが得られます。

Firebugなどのデバッグツールを使用してフォームの値を不正に変更する可能性があるため、フォームの提出時に検証する必要があります。検証するまでは、それ。

したがって、実際にフォームが送信されるまで検証は心配しないでください。

関連する問題