2011-01-14 22 views
0

可変長リストを編集していて、ViewDataを使用してDropDownListの情報を渡します。 http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/可変長リストの編集時にViewDataを保持する

このドロップダウンリストのデータは、データベースから取得したものです。 ViewDataはリクエスト間で利用できないため、私は現在、毎回データベースに対して新しいクエリを実行しています。これは、ModelStateが無効でフォームが再表示された場合にも発生します。もちろん、このような軽量クエリであっても理想的ではありません。

ユーザーは、その可変長リストを持つページを編集している間は、そのクエリからの情報をどのように保持できますか?

答えて

0

リストがユーザーに一意の場合は、Sessionに保存できます。すべてのユーザーの間で共有されている場合は、Cacheに保存することができます。どちらの場合も、保存されたリストは期限切れになる可能性があります。期限切れになるため、再クエリを行う必要があります。

+0

以前はセッション環境を使ったことがありません。どのように私は再クエリする必要があるかどうかを私は言うか?私はセッションからデータにアクセスしているだけですが、一部のデータが利用できなくなったことをビューでどのように知ることができますか? – Pieter

+0

さて、そこには存在しません。あなたは再クエリします(つまり '(Session [" Foo "] == null){')。つまり、DBクエリには何も問題はありません。あなたは時期尚早に最適化していないことを確認してください。 –

関連する問題