2011-01-14 18 views
0

我在編輯可變長度列表並使用ViewData傳遞填充DropDownList的信息。我使用這裏描述的方法來編輯這些列表: http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/編輯可變長度列表時保留ViewData

此dropdownlist的數據來自數據庫。由於ViewData在請求中不可用,因此我現在每次都會對數據庫執行新的查詢。當ModelState無效並且表單重新顯示時,也會發生這種情況。當然,即使對於輕量級查詢,這也不是那麼理想。

只要用戶使用該可變長度列表編輯頁面,如何跨越請求保留來自該查詢的信息?

回答

0

如果列表對於用戶是唯一的,則可以將其存儲在Session中。如果它在所有用戶中共享,則可以將其存儲在Cache中。無論哪種情況,存儲的列表都可以並將過期,因此您必須準備好重新查詢它。

+0

我從來沒有使用過會話環境。我怎麼知道我是否需要重新查詢?我只是從會話中訪問數據,但我如何知道View中有些數據不再可用? – Pieter 2011-01-17 09:24:42