zoukankan      html  css  js  c++  java
  • .Net Core----关于MVC中TempData持久化问题

    最近在做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()方法,保证该对象中的所有项不会被移除。

  • 相关阅读:
    12月11日
    081212 晴
    12月10日
    树莓派项目——基于树莓派的WIFI网络互传系统设计
    IDE
    边缘检测
    Android Launcher桌面应用快捷方式的开发
    android ui事件处理分析
    listview 分析
    ApplicationsIntentReceiver.class
  • 原文地址:https://www.cnblogs.com/wuyabaibsd/p/9390571.html
Copyright © 2011-2022 走看看