0

現在、mvc 3 と c# を使用して Web アプリケーションを設計しています。次のシナリオを実行する必要があり、プラットフォームの正しい実装を判断しようとしています。ドロップダウン リストの選択に応じて、いくつかのフォーム要素 (テキスト ボックス) を表示/非表示にする必要があります。ドロップダウン リストもフォームの一部である必要があります。これを mvc 3 プラットフォームで実装する最良の方法は何でしょうか。私が抱えている大きな問題の 1 つは、表示される必要があるすべての要素も必要であり、他の要素は必要ではないということです。DataAnnotation 検証を使用したいと思います。最初にすべてのフォーム要素をレンダリングし、javascript を使用して、ドロップダウンの選択に基づいて表示/非表示にするものを決定する必要がありますか? ここでの問題は、フィールドに何かが入力された場合に検証されることを確認する検証ロジックを維持しながら、必要なロジックをどのように変更するかということです。一方、必要なフォームごとに部分ビューを作成し、ドロップダウンの選択に基づいて部分ビューを表示/非表示にするのはやり過ぎのように思えます。

4

2 に答える 2

1

おそらく、jQuery を使用してフロント エンドでこれを行うことができます。例えば

<select name="source" id="source">
  <option value="null" selected="selected">&mdash;Select&mdash;</option>
  <option value="o1">Option 1</option>
  <option value="o2">Option 2</option>
  <option value="o3">Option 3</option>
</select>

<div id="content"> some content to show/hide </div>

そして対応する jquery:

$('#source').change(function() {
    ($(this).val() == "o3") ? $('#content').show() : $('#content').hide();
});

したがって、基本的にオプション 3 を選択すると、div コンテンツが表示されます。なぜ ajax を使用する必要があるのか​​はわかりませんが、データが送信されたら、サーバー側で値を検証するだけで済みます。

Mvc.ValidationToolkit を使用して条件付き検証を確認することも有益な場合があります。

于 2012-11-26T04:20:11.817 に答える
0

これを参照してください:

MVC および Jquery のドロップダウン選択に基づいて特定のフォームを非表示または表示する

またはあなたも見ることができます

http://atikpassion.blogspot.com/2014/01/mvc-razor-show-hide-any-id-based-on.html

于 2014-01-09T06:34:26.553 に答える