私の MVC フォームには、同じ ID と名前を持つ 2 つのドロップダウンがあります。バックエンド データ テーブルには、選択した値を取得するフィールドが 1 つだけあります。フィールドは、これらのドロップダウンのすべての値を含むルックアップ テーブルに関連付けられています。2 つのドロップダウンにはそれぞれ、使用タイプに基づいた値のサブセットのみが含まれています。これは、クライアント側で jQuery を使用してドロップダウンを相互に排他的に表示できるようにするためです。たとえば、最初のドロップダウンで空白以外の選択が行われると、スクリプトは 2 番目のドロップダウンを非表示にし、その逆も同様です。いずれかのドロップダウンで空白のオプションを選択すると、両方のドロップダウンが表示されます。ポスト バック フォームには 2 つの項目を持つ配列が含まれるためです。デフォルトのバインダーは、空白以外の値を含む配列項目に自動的にバインドしますか? これが正しい方法でない場合は、何か提案をいただければ幸いです。
1 に答える
0
これには、次の 2 つの方法のいずれかで取り組みます。
- 2 つのオプション フィールドを含むビュー モデルを作成し、フォーム フィールドに適切な名前と ID を付けます。同じ ID を持つ複数の要素を持つことは有効ではなく、後で jQuery セレクターを使用して苦労する可能性があります。
- もう 1 つのオプションは、jQuery を使用して Ajax 経由でフォームを送信することです。繰り返しますが、有効な HTML を作成するには、フォームに適切な名前を付けますが、Ajax リクエストで値を渡す場合、探している値を持つフォームのみを割り当てることになります。
補足として、これがあなたのデザインで機能するかどうかはわかりませんが、ドロップダウンを 1 つだけにして、コンテキストに有効な結果のサブセットをドロップダウンに入力するというアイデアを検討することもできます。たとえば、ユーザーが Twitter.Bootstrap のようなものを使用してボタン グループでパス A/B を選択できるようにすることができます: http://twitter.github.com/bootstrap/javascript.html#buttons
乾杯。
于 2012-06-17T22:18:12.597 に答える