myesn

myEsn2E9

hi
github

ASP.NET Core 狀態管理之 TempData

介紹#

想像一個場景,比如註冊後跳轉到其他頁面:

  1. 在註冊頁面:註冊成功後,跳轉到登錄頁面
  2. 在登錄頁面:僅提示一次註冊成功

一般頁面跳轉後給出上一個頁面的操作提示是一件麻煩的事情,但使用 TempData 使得事情變得簡單。

TempData 中資料的生命週期是下次請求內,在請求結束就會被刪除,類似 Scoped

也就是說在第一次請求裡面為 TempData 屬性賦值,下一次請求訪問它的時候,能獲取值,但在請求結束後,值就會被刪除,由於 TempData 是一個 Dictionary,所以刪除的是鍵值對。

它的使用方式是:首先給屬性添加 [TempData] 標記,代表這是一個臨時資料,直到在另一個請求中讀取資料,讀取之後就被刪除了,不過它有多種使用方式:

  1. 訪問 TempData 值後在請求結束後不刪除,通過調用 KeepPeek 來保持資料不被刪除。
  2. 訪問 TempData 值後在請求結束後刪除,直接使用字典訪問的方式 TempData["Message"]

具體參考官方文件:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/app-state#tempdata

完整代碼參考:https://github.com/myesn/temp-data-in-asp-dotnet-core

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。