ASP.NET MVC TempData使用心得

  • 说明:

在ASP.NET MVC中資料傳遞主要有ViewData與TempData

ViewData主要是Controller傳遞Data給View,存留期只有一個Action,要跨Action要使用TempData,

而TempData依TempDataProvider的不同,會有不同的存留期,預設的TempDataProvider是SessionStateTempDataProvider

你沒有看錯,預設是用Session來存放TempData,

Session不是使用者存放資料,而且存留時間預設在20分鐘的嗎?

所以SessionStateTempDataProvider有做一些手段,Controller起來時,從Session載入TempData,然後刪除Session,所以在Action時是不會看到TempData的Session,在讀取TempData時,會記錄用了那些Key,

在Controller結束時,會把沒有過的TempData在存回Session中,所以一直沒有讀取的TempData是會存在到Session消失的

  • 示范
TempData["RouteName"] = routeName;

  var routeName = TempData["RouteName"].ToString();

var OldPageValueDto = TempData["OldPageValueDto"] as PageValueDto;

var oldDetail = TempData["OldDetail"] as DomesticGeneralFeesDetail;

  

上一篇:javascript – jsPlumb处理可滚动div容器中的元素


下一篇:pytest.10.使用fixture参数化测试预期结果