asp.net-mvc – TempData在第二个请求后不会被破坏
发布时间:2020-12-31 01:25:31 所属栏目: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-mvc – 无法在Web服务器上启动调试. Web服务器找不
- asp.net – 从多个Web.config文件访问appSettings
- asp.net-mvc – 帖子上的Mvc模型ID 0
- asp.net-mvc – 在没有模型的情况下手动将验证添加到文本框
- asp.net – Orchard CMS是否支持移动呈现?
- asp.net-mvc-3 – 用于ASP的Telerik扩展. NET MVC免费?
- asp.net-web-api – WebAPI中的长时间运行任务
- asp.net – 如何将Controller上的Ajax reqest重定向到登录页
- asp.net – 何时覆盖OnError?
- 利用ASP.NET MVC和Bootstrap快速搭建个人博客之后台dataTab
推荐文章
站长推荐
- asp.net中XML如何做增删改查操作
- .net – CS0012:类型’System.Data.Linq.DataCo
- asp.net – Silverlight初始化错误2110 Internet
- asp.net-mvc – 你如何指定在列表框中显示多少项
- 端到ASP.NET MVC的推荐方法
- asp.net-mvc – 在一个页面中以两种不同的形式使
- asp.net – 如何序列化LINQ-to-SQL惰性列表
- asp.net下使用jquery 的ajax+WebService+json 实
- asp.net-mvc-4 – AngularJs,DropZone.Js,MVC4 –
- asp.net-mvc-2 – 如何在ASP.NET MVC2中为Html.L
热点阅读