javascript - 浏览器刷新时如何保留 TempData 但如果用户离开页面则为空
问题描述
如果浏览器或页面刷新但如果用户离开到另一个页面然后返回则为空或重置是否仍然保留 TempDate。
我可以使用 TempData.Keep() 保留 TempData 但如果用户转到另一个页面并返回,我想重置它。
var projectId= TempData["projectId"];
TempData.Keep("projectId");
解决方案
TempData 旨在仅在当前请求和下一个请求之间具有生命周期。您必须在每次请求时重新存储它(或调用 .Keep())以使其在后续请求中可用。您最好使用 Session 对象或从您的用户身份中检索它。
但是,如果您在调用 .Keep() 之后调用它(显示调用计数),您可以“保留”您的 TempData 对象。
<li class="nav-item">
<h5 style="color:white"> Welcome, @TempData["username"]</h5>
@TempData.Keep("username")
</li>
另一种规避此问题的方法是使用 .Peek():
<li class="nav-item">
<h5 style="color:white"> Welcome, @TempData.Peek("username").ToString()</h5>
</li>
推荐阅读
- java - Python客户端Java服务端接收null
- javascript - 将数组 2 和 3 访问到一个字符串数组中
- python - 使用 Python 和 FFMPEG 的应用程序文件
- ui-automation - 用于跨平台自动化应用程序鼠标、键盘事件的 Python 库
- java - 如何通过 java 向 Cisco/Alcatel 交换机运行“显示接口状态”(如果可能,请使用 jsch)
- performance - AVX mat4 inv 实现比 SSE 慢
- powershell - 从批处理文件在 Powershell ISE 中运行脚本
- c# - Twilio.Exceptions.ApiConnectionException:连接错误。任务被取消 - Twilio C#
- c# - 为什么我的列表视图没有在 xamarin.android 中刷新
- ios - Xamarin Forms iOS 图像未显示