asp.net-mvc – TempData在第二个请求后不会被破坏
发布时间:2020-12-30 18:02:10  所属栏目:asp.Net  来源:互联网 
            导读:我在一个actionfilter中的第一个请求中为TempData提供一个值. filterContext.Controller.TempData[value] = true; 之后,第二个请求进来,我检查的值 filterContext.Controller.TempData.ContainsKey(value) 价值在那里然后第三个请求进来,我再次检查该值 filte
                
                
                
            | 
                         我在一个actionfilter中的第一个请求中为TempData提供一个值. filterContext.Controller.TempData["value"] = true; 之后,第二个请求进来,我检查的值 filterContext.Controller.TempData.ContainsKey("value") 
 价值在那里然后第三个请求进来,我再次检查该值 filterContext.Controller.TempData.ContainsKey("value") 
 价值仍然存在.不应该在第二次请求之后破坏这个值?所有请求都是AJAX请求. 解决方法
 只有你阅读它: var value = filterContext.Controller.TempData["value"]; 如果您没有读取TempData中的值,则不会被驱逐. TempData.Items getter的定义如下: public object get_Item(string key)
{
    object obj2;
    if (this.TryGetValue(key,out obj2))
    {
        this._initialKeys.Remove(key);
        return obj2;
    }
    return null;
} 
 请注意,只有当您调用getter并且只有在集合中找到该值时,该值将被逐出.在您所显示的代码中,您所做的只是检查TempData是否包含给定的键,但是您尚未读取此键的值. 您可以手动取消TempData值: filterContext.Controller.TempData.Remove("value"); 
 还有一种方法可以让您读取该值而不删除它: var value = filterContext.Controller.TempData.Peek("value");                        (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
相关内容
- asp.net-core – 我为什么要选择带有.Net核心的ASP.NET Cor
 - asp.net-mvc-3 – 局部视图中的RenderSection
 - asp.net-mvc-3 – 是否可能获得一个ASP.NET MVC 3项目工作在
 - asp.net – 使用WebMethods和session时的最佳实践
 - 在.NET程序崩溃时自动创建Dump的思路详解
 - 何时在ASP.NET上选择LAMP?
 - asp.net-mvc – 如何在ASP.NET MVC4中使用具有唯一标识符UR
 - 用Dataset对象读取XML内容来绑定下拉列表框
 - asp.net-mvc – 在部署MVC 2 Web应用程序时要绝对检查的事项
 - 隐藏ASP.NET菜单项
 
推荐文章
            站长推荐
            - 用Dataset对象读取XML内容来绑定下拉列表框
 - asp.net-core – 具有取消令牌的自定义AspCore中
 - asp.net-mvc – 为什么我得到一个“无法更新Enti
 - asp.net-mvc – 缩小ASP.NET MVC中的Action Filt
 - asp.net-mvc-3 – 为MVC3应用程序配置Ninject的正
 - ASP.NET MVC学习教程之Razor语法
 - asp.net – 根据参数应用不同的XSLT模板
 - asp.net-mvc – 使用ASP.NET MVC进行项目组织的最
 - asp.net neatUpload 支持大文件上传组件
 - asp.net – 如何从复选框列表中获取最新的选定值
 
热点阅读
            