我是靠谱客的博主 拼搏书本,这篇文章主要介绍.Net Core----关于MVC中TempData持久化问题,现在分享给大家,希望可以做个参考。

最近在做mvc跨控制器传值的时候发现一个问题,就是有时候TempData的值为null,然后查阅了许多资料,发现了许多都是逻辑和原理什么的(想看原理可以查看原理的文章,本文是用法),但是真正解决的办法什么案例都没有,

于是就把自己的代码当成案例给贴出来,方便更直观的解决问题。

因为TempData生命周期确实很短,所以需要持久化一下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
public ActionResult Index() { TempData["message"] = "123asd"; return view(); } public ActionResult GetTemData() { var foredid = TempData["message"].ToString(); var result=_content.userinfo(foredid);
return View(); }

在当前Action方法中调用Keep方法则保证在当前请求中TempData对象中所存储的键都不会被移除。

 

总结:

1.当利用TempData对象存储值而未调用TempData.Keep方法时,此时只要该对象被已读,然后该对象中的所有项将被标记为删除状态。

2.若调用TempData.Keep(string key)方法,此时不会进行标记。

3.RedirectToRouteResult和RedirectResult总是会调用TempData.Keep()方法,保证该对象中的所有项不会被移除。

转载于:https://www.cnblogs.com/wuyabaibsd/p/9390571.html

最后

以上就是拼搏书本最近收集整理的关于.Net Core----关于MVC中TempData持久化问题的全部内容,更多相关.Net内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(94)

评论列表共有 0 条评论

立即
投稿
返回
顶部