我正在使用TempData在查看頁面中傳遞成功或失敗消息。 當我第一次部署應用程序時,它工作正常,但是當服務器重新啓動/重新引導時,我在TempData中遇到了會話問題,就像下面的截圖一樣。在asp.net核心中找不到TempData密鑰
由於
我正在使用TempData在查看頁面中傳遞成功或失敗消息。 當我第一次部署應用程序時,它工作正常,但是當服務器重新啓動/重新引導時,我在TempData中遇到了會話問題,就像下面的截圖一樣。在asp.net核心中找不到TempData密鑰
由於
TempData的下一個請求完成後廢棄。這對於一次性消息很有用,比如表單驗證錯誤。這裏需要注意的重要一點是,這適用於會話中的下一個請求,以便請求可能發生在不同的瀏覽器窗口或選項卡中。
TempData
通常用於paas控制器之間的值。
您應該使用ViewBag
或ViewData
將值從控制器傳遞到視圖。
像
ViewBag.YourKey = "Value"
上CSHTML
@if(ViewBag.YourKey!=null)
{
}
或ViewData的
ViewData["YourKey"] = "Value"
上CSHTML
@if(ViewData["YourKey"] !=null)
{
}
謝謝
其實,沒有。 TempData通常用於傳遞一次性使用的消息信息,如「Operation Successful」或類似消息。它可以跨控制器,也可以從控制器中查看。無論如何,告訴他們使用不同的機制並不能解決問題。 –
更新了答案 –
仍然沒有解決問題。用一個不存在的鍵調用TempData不應該拋出這個異常,它應該返回null。 –
你在你的ConfigureServices中使用'services.AddDataProtection'嗎?也許這是你的問題https://github.com/aspnet/DataProtection/issues/184 –