ViewData的生命周期和View相同, 只對當前View有效.
TempData保存在Session中, Controller每次執行請求的時候會從Session中獲取TempData並刪除Session, 獲取完TempData數據後雖然保存在內部的字典對象中,但是TempData集合的每個條目訪問壹次後就從字典表中刪除. 也就是說TempData的數據至多只能經過壹次Controller傳遞.
為何TempData只能夠在Controll中傳遞壹次? 因為SessionStateTempDataProvider.LoadTempData方法(在TempDataDictionary.Load中調用)在從ControllerContext的Session中讀取了TempData數據後, 會清空Session: