cz6781航班,中国全球定位系统技术应用协会,浩莲生财宝
最近在做mvc跨控制器传值的时候发现一个问题,就是有时候TempData的值为null,然后查阅了许多资料,发现了许多都是逻辑什么的,但是真正解决的办法什么的都没有案例,
于是就把自己的代码当成案例给贴出来,方便更直观的解决问题。
因为TempData生命周期确实很短,所以需要持久化一下:
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()方法,保证该对象中的所有项不会被移除。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论