关于MVC中TempData持久化问题
程序员文章站
2022-11-30 19:47:12
最近在做mvc跨控制器传值的时候发现一个问题,就是有时候TempData的值为null,然后查阅了许多资料,发现了许多都是逻辑什么的,但是真正解决的办法什么的都没有案例, 于是就把自己的代码当成案例给贴出来,方便更直观的解决问题。 因为TempData生命周期确实很短,所以需要持久化一下: 在当前A ......
最近在做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()方法,保证该对象中的所有项不会被移除。
上一篇: 两步验证和短信验证码安全对比
推荐阅读
-
关于MVC中TempData持久化问题
-
date - 关于php中时间格式化问题
-
关于.net mvc中@Html.DropDownListFor和@Html.DropDownList默认值无法选中问题
-
关于mvc中@Html.DropDownListFor和@Html.DropDownList默认值无法选中问题简单总结
-
关于MVC中TempData持久化问题
-
关于MVC框架中 模块传参的问题
-
关于mvc中@Html.DropDownListFor和@Html.DropDownList默认值无法选中问题简单总结
-
关于MVC框架中 模块传参的问题
-
关于MVC框架中 模块传参的问题
-
Asp.net MVC中关于Razor问题的解决方法