asp.net-mvc – TempData在第二个请求后不会被破坏
发布时间:2020-12-31 00:05:24 所属栏目: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 – 在Azure Active Directory B2C中按组授权
- asp.net – 我可以通过编程方式禁用更新面板吗?
- asp.net-core – 找不到Swashbuckle.AspNetCore SwaggerOpe
- 实体框架 – WebApi OData:$filter’any’或’all’查询不
- js触发asp.net的Button的Onclick事件应用
- Asp.net MVC实现生成Excel并下载功能
- ASP.NET AJAX与ASP.NET MVC中的jQuery
- 在ASP.NET MVC中动态地从数据库生成CSS文件
- asp.net-mvc-3 – ASP.Net MVC 3:在哪里处理会话丢失?
- asp.net-mvc – 在OS X 10.7.4上的MonoDevelop中构建MVC4项
推荐文章
站长推荐
- 序列化 – Newtonsoft中的TypeNameHandling需要$
- asp.net – Windows应用程序与Web应用程序开发
- asp.net – Visual Studio – 为什么.ASPX文件比
- asp.net-core – ASP.Net核心maxUrlLength
- asp.net – 更改事件和IE8的jQuery问题
- asp.net 将一个图片以二进制值的形式存入Xml文件
- 如何在asp.net中更改javascript警告框的标题?
- asp.net-mvc – UpdateModel前缀 – ASP.NET MVC
- asp.net-mvc – 使用jQuery.post将多个参数发布到
- asp.net-mvc – ASP.NET MVC中的WebApi [FromUri
热点阅读
