1

完全なモデルをビューからコントローラーに戻す方法はありますか (JSON を使用せずに)。私のモデルはリストです。 List<ExmapleClass>

元のデータを取得するためにデータベースに戻る必要がないように、コントローラーに戻してソートし、ビューに戻して表示できるようにしたいと考えています。

コンストラクターで (クラス) メンバー変数としてリストを使用すると、モデルをやり取りする必要がなくなると思いますが、他のオプションはありますか?

4

3 に答える 3

1

概念的には、単一のリクエストのサービス内では、コントローラーからビューへの通信は一方向です。コントローラーは、レンダリングするビューを決定し、それにモデルを渡します。実行がコントローラーに戻ることはありません。

ビュー内から子アクションを実行できます。これにより、目的と同様の結果が得られる可能性がありますが、質問に基づいて明確ではありません。

ユーザーとのやり取りを介して行われるコミュニケーションについて話している場合は、TempData を使用してこのようなことを達成できる可能性があります。この場合、ビューは TempData に情報を格納し、次に実行するコントローラーによって消費されます。

データ ソースに繰り返しクエリを実行する必要があることに基づくパフォーマンスが懸念される場合は、このデータをサービスまたはデータ アクセス レイヤーにキャッシュする方法を検討することを強くお勧めします。キャッシュの方法としてビュー/コントローラーの相互作用を使用するのではありません。

于 2012-10-10T21:21:40.190 に答える
0

ここに投稿したように、非表示のフィールドで実行できます: MVC4 の異なるエンティティへの送信クリックで複数のレコードを保存します。Controllerのビューから値を取得しませんが、ビューでこのデータが必要ない場合は、キャッシュの方が優れたソリューションです。

于 2012-10-10T21:43:07.787 に答える
0

すべてのデータをサーバーに送り返すと、多くの帯域幅が使用されます。JQuery/javascript を使用して、クライアント側でデータを直接ソートする方が簡単で高速だと思います。データをサーバー側に送信する必要がある場合は、XML を使用できますが、XML を使用して何かを得られるかどうかはわかりません。

クライアント側のソーターをいくつか紹介します: http://tablesorter.com/docs/ http://www.sendesignz.com/index.php/jquery/76-how-to-sort-items-using-jquery

于 2012-10-10T21:48:41.453 に答える