asp.net-mvc – TempData在第二个请求后不会被破坏
发布时间:2020-12-31 00:07:45 所属栏目: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 – 从单独的配置文件中读取设置
- asp-classic – 哪里可以存储经典ASP的连接字符串?
- ASP.Net:为什么我的按钮的点击/命令事件没有在转发器中绑定
- asp.net-mvc – 在MVC命令,优先级和功能问题中授权属性
- 优化 – 字典/客户端VS应用程序变量
- asp.net ajax实现无刷新验证码
- asp.net-mvc – URL中的ASP.NET MVC冒号
- asp.net – visual studio 2017调试无法启动程序无效指针
- 验证 – Asp.Net MVC:子请求的执行失败.请查看InnerExcept
- asp.net-mvc-4 – .net 4.5 ASP.Net web API JSONP支持
推荐文章
站长推荐
- asp.net-mvc – 允许一个人一次使用帐户的可重用
- asp.net-mvc – 如何在我自己的自定义助手中使用
- asp.net-mvc – Asp.Net MVC CSLA DDD可能
- asp.net – (客户端)禁用提交按钮的最佳方法是什
- asp.net – 什么时候Response.IsClientConnected
- 从ASP.NET应用程序使用Active Directory时,Direc
- asp.net(C#)禁止缓存文件不让文件缓存到客户端
- asp.net – MVC 4导出到CSV – 另存为对话框在Ch
- asp.net core 实现一个简单的仓储的方法
- asp.net读取excel文件的三种方法示例
热点阅读