2011-09-21 80 views
0

我在想數據可以在ViewData字典中保存多久。我知道數據不能在TempData中持續很長時間(不到一個小時)。那麼在ViewData中可以持續多久?是否有另一個數據字典會長時間持續數據。我知道它開始聽起來像我想要一個會話變量,這是非MVC,但是有沒有其他的方式,我可以從一個控件的數據,而不是直接作爲參數傳遞一個視圖。ViewData中的數據持續時間tempData

回答

3

我想知道在ViewData字典

它的那一刻起持續你把它放在那裏請求結束的那一刻,即呈現頁面和發送到客戶端的數據多長時間能堅持。

我知道數據不能堅持,長期在TempData的(不到一個小時)

TempData就像是會議,但仍然存在只有等到下一個請求。因此,它可以像秒,分鐘,小時,天,...

我知道這是開始聽起來像我想一個會話變量,這是非常不MVC

我不會不說非MVCish,我會說非RESTfulish

是否有其他的數據字典,將持續數據很長一段時間

是,會話,基礎數據存儲(如數據庫或某事),餅乾,應用範圍,高速緩存。 ..這一切都取決於你的具體要求。

+0

因此,如果有人打開一個頁面,並且在控制器上設置了ViewData,並且他們將該頁面打開了一個小時左右,那麼,他們無法計算該變量持續這段時間? – SoftwareSavant

+1

@DmainEvent,不,你不能指望這樣的事情。您在控制器中設置ViewData,控制器返回視圖,視圖呈現,它會生成HTML,並且此呈現結束時ViewData會與所有內容一起消失。 –

+0

是否有某些事件或某些我可以檢測到ViewData被清空的事件,以便我可以向用戶發送警報,然後讓他們導航到其他頁面? – SoftwareSavant