0

asp.net MVC 4 アプリケーションに次のプロパティを持つテーブル (およびモデル) があります。

テレビ台

高さ 幅 奥行き タイプ ブランド コスト

ユーザーが TV のスペースに関する質問に答えると、ajax 呼び出しを実行して、ユーザーが指定したスペースに収まる可能性のある型を判断します。次の質問は、どのタイプの TV が必要かということです。そのため、一部のオプションを無効にする必要がある場合があります。スペースに収まる型の SQL は、「高さ < @height および幅 < @width および深さ < @depth の TV から個別の型を選択する」です。すべきこと: 1. TV コントローラーから呼び出す新しいモデルを作成して、個別の型を返す 2. TV コントローラーから呼び出して、適合する型の文字列のリストを返すメソッドを TV モデルに追加する

4

1 に答える 1

0

ユーザーの選択に基づいてユーザーに何を表示したいかによって異なります。

  1. TV 名とその説明を表示したい場合は、TV モデルのリストを返すのが理にかなっています。

  2. コンボ ボックスに TV 名のリストを表示するだけの場合は、文字列のリストを返すだけで十分です。

新しいアクションを呼び出すことは、どちらの場合でも理にかなっています。

編集

2 の場合 - 文字列のリストを返したい - このために新しいデータ モデルを作成するか、既存の TV データ モデルに文字列のリストを返すメソッドを追加する必要がありますか?

上記のクエリを拡張するには、あなたの質問からは明確ではない(少なくとも視覚化していない)ため、いくつかのことを想定します。

ケース 1: TVModels のリストを含まない「TVSelection」というビューをユーザーに表示しています。このビューでは、ユーザーは幅、高さ、奥行きの 3 つの値を入力する必要があります。ユーザーがこれらの値を入力すると、フォームを送信したり、Lost Focus イベントでテレビのブランド名リストを取得したりできます。いずれにせよ、問題は、コンボ ボックスにデータを入力して既存のビューを更新するか、新しいビューを表示するかです。AJAX 呼び出しを行うことによって、既存の「TVSelection」ビューを更新していると想定しています。その場合、テレビのブランド名のリストを返すコントローラー (「TVSelection」ビューを表示したコントローラー) でメソッドを呼び出すだけです。

ケース 2: TVModel オブジェクトのリストが既にある "TVSelection" ビューを表示しており、必要なフィールドの選択 (フィルタリング) で動的に更新します。この場合、TVModel 自体にメソッドを追加して、ユーザーの選択に一致する名前のみをフィルタリングできます。

これらのリンクは12に関連していることがわかりました。

それが理にかなっていることを願っています。

これがあなたの質問に答えない場合は、質問に詳細を追加してください。

于 2013-09-10T15:26:25.140 に答える