asp.net-mvc – TempData keep()vs peek()
发布时间:2020-05-23 03:51:26 所属栏目:asp.Net 来源:互联网
导读:keep()和peek()之间有什么区别? MSDN说: keep():在字典中标记指定的键以保留。 peek():返回一个包含元素的对象 与指定键相关联,而不标记键 删除。 我不能得到真正的区别是什么,他们不保留另一个请求的值? 当读取TempDataDictionary中的一个对象时,它
|
keep()和peek()之间有什么区别? MSDN说: > keep():在字典中标记指定的键以保留。 我不能得到真正的区别是什么,他们不保留另一个请求的值? 解决方法当读取TempDataDictionary中的一个对象时,它将在该请求结束时标记为删除。这意味着如果你把东西在TempData喜欢 TempData["value"] = "someValueForNextRequest"; 而在另一个请求你访问它,值将在那里,但一旦你读它,该值将被标记为删除: //second request,read value and is marked for deletion object value = TempData["value"]; //third request,value is not there as it was deleted at the end of the second request TempData["value"] == null “偷看”和“保持”方法允许您读取值,而不标记删除。假设我们回到第一个请求,值被保存到TempData。 使用“偷看”,您只需一次调用即可获得该值,而无需将其标记为删除,请参阅msdn: //second request,PEEK value so it is not deleted at the end of the request
object value = TempData.Peek("value");
//third request,read value and mark it for deletion
object value = TempData["value"];
使用保留您指定要保留的标记为删除的密钥。检索对象以及稍后将其从删除中保存它们是2个不同的调用。见msdn //second request,get value marking it from deletion
object value = TempData["value"];
//later on decide to keep it
TempData.Keep("value");
//third request,read value and mark it for deletion
object value = TempData["value"];
当您始终希望保留另一个请求的值时,可以使用Peek。使用保留时保留值取决于附加逻辑。 您有2个关于TempData如何工作的好问题here和here 希望它帮助! (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 选择哪种ASP.NET编程模型?
- 在Asp.Net中发送电子邮件时出错错误代码为0x80040217
- .net – 如何更改乌节纪录库
- asp.net – 联合身份验证和“加密操作期间发生错误”
- asp.net-web-api – 无法加载文件或程序集’System.Web.Htt
- asp.net-mvc – 更改项目URL Visual Studio
- asp.net-mvc – ASP.NET MVC获取具有特定配置文件属性的用户
- ASP.Net Response.Redirect不能在Application_Error中工作?
- entity-framework-4 – 通过扩展方法的IDbSet和公开包含方法
- asp.net – Glimpse手动分析a MiniProfiler?
推荐文章
站长推荐
- asp.net-mvc – 如何将环境变量放在web.config中
- 如何在ASP.NET中垂直对齐对象?
- 资源解释为样式表,但在ASP.NET IIS中使用MIME类型
- asp.net-mvc-3 – 任何好的样品开始使用Dapper?
- asp.net-mvc – Url.RouteUrl返回null
- asp.net-mvc-4 – Windows身份验证和Asp.Net Web
- asp.net – context.Response.Charset = Encodin
- 如何找到ASP.NET中的哪个对象无法序列化?
- asp.net-mvc-4 – 如何在视图页面上缩小脚本块内
- asp.net – 如何从URL抓取.aspx页面名称?
热点阅读
