完全なモデルをビューからコントローラーに戻す方法はありますか (JSON を使用せずに)。私のモデルはリストです。
List<ExmapleClass>
元のデータを取得するためにデータベースに戻る必要がないように、コントローラーに戻してソートし、ビューに戻して表示できるようにしたいと考えています。
コンストラクターで (クラス) メンバー変数としてリストを使用すると、モデルをやり取りする必要がなくなると思いますが、他のオプションはありますか?
完全なモデルをビューからコントローラーに戻す方法はありますか (JSON を使用せずに)。私のモデルはリストです。
List<ExmapleClass>
元のデータを取得するためにデータベースに戻る必要がないように、コントローラーに戻してソートし、ビューに戻して表示できるようにしたいと考えています。
コンストラクターで (クラス) メンバー変数としてリストを使用すると、モデルをやり取りする必要がなくなると思いますが、他のオプションはありますか?
概念的には、単一のリクエストのサービス内では、コントローラーからビューへの通信は一方向です。コントローラーは、レンダリングするビューを決定し、それにモデルを渡します。実行がコントローラーに戻ることはありません。
ビュー内から子アクションを実行できます。これにより、目的と同様の結果が得られる可能性がありますが、質問に基づいて明確ではありません。
ユーザーとのやり取りを介して行われるコミュニケーションについて話している場合は、TempData を使用してこのようなことを達成できる可能性があります。この場合、ビューは TempData に情報を格納し、次に実行するコントローラーによって消費されます。
データ ソースに繰り返しクエリを実行する必要があることに基づくパフォーマンスが懸念される場合は、このデータをサービスまたはデータ アクセス レイヤーにキャッシュする方法を検討することを強くお勧めします。キャッシュの方法としてビュー/コントローラーの相互作用を使用するのではありません。
ここに投稿したように、非表示のフィールドで実行できます: MVC4 の異なるエンティティへの送信クリックで複数のレコードを保存します。Controllerのビューから値を取得しませんが、ビューでこのデータが必要ない場合は、キャッシュの方が優れたソリューションです。
すべてのデータをサーバーに送り返すと、多くの帯域幅が使用されます。JQuery/javascript を使用して、クライアント側でデータを直接ソートする方が簡単で高速だと思います。データをサーバー側に送信する必要がある場合は、XML を使用できますが、XML を使用して何かを得られるかどうかはわかりません。
クライアント側のソーターをいくつか紹介します: http://tablesorter.com/docs/ http://www.sendesignz.com/index.php/jquery/76-how-to-sort-items-using-jquery