TempData、ViewData和ViewBag异同
2014-10-21 13:14
260 查看
Data ViewData ViewBag都可以用来保存数据。
它们之间的区别如下:
TempData:保存在Session中,Controller每次执行请求的时候,会从Session中先获取TempData,而后清除Session,获取完TempData数据,虽然保存在内部字典对象中,但是其集合中的每个条目访问一次后就从字典表中删除。具体代码层面,TempData获取过程是通过SessionStateTempDataProvider.LoadTempData方法从ControllerContext的Session中读取数据,而后清除Session,故TempData只能跨Controller传递一次。
ViewData:生命周期和View相同,仅对当前View有效。
ViewBag:和ViewData生命周期相同,也是对但前View有效,不同的是ViewBag的类型不再是字典的键值对结构,而是dynamic动态类型,属于MVC3里面新增的部分。
它们之间的区别如下:
TempData:保存在Session中,Controller每次执行请求的时候,会从Session中先获取TempData,而后清除Session,获取完TempData数据,虽然保存在内部字典对象中,但是其集合中的每个条目访问一次后就从字典表中删除。具体代码层面,TempData获取过程是通过SessionStateTempDataProvider.LoadTempData方法从ControllerContext的Session中读取数据,而后清除Session,故TempData只能跨Controller传递一次。
ViewData:生命周期和View相同,仅对当前View有效。
ViewBag:和ViewData生命周期相同,也是对但前View有效,不同的是ViewBag的类型不再是字典的键值对结构,而是dynamic动态类型,属于MVC3里面新增的部分。
相关文章推荐
- TempData、ViewData和ViewBag异同
- TempData、ViewData和ViewBag异同
- TempData、ViewData和ViewBag异同
- Asp.net MVC中ViewData、ViewBag和TempData区别
- MVC页面常见三种传值方式——ViewData,ViewBag,TempData
- MVC到底使用哪种方式传递Model,在ViewData、ViewBag、PartialView、TempData、ViewModel、Tuple之间取舍
- MVC5-8 ViewData、ViewBag、TempData分析
- MVC传递Model之TempData、ViewData、ViewBag区别及用途
- TempData ViewBag ViewData
- ASP.Net MVC中 ViewBag, ViewData, TempData, ViewModel 的区别
- ViewData、ViewBag、TempData、Session的区别与联系
- MVC控制器传递多个Model到视图,使用ViewData, ViewBag, 部分视图, TempData, ViewModel, Tuple
- .NET MVC TempData、ViewData、ViewBag
- MVC中ViewBag、ViewData和TempData 的区别与联系
- ViewBag、ViewData和TempData使用方法、区别与联系
- ASP.NET MVC ViewBag/ViewData/TempData区别
- 【MVC4 之 ViewData ViewBag TempData】
- MVC到底使用哪种方式传递Model,在ViewData、ViewBag、PartialView、TempData、ViewModel、Tuple之间取舍
- ViewData ViewBag TempData
- MVC中TempData、ViewData和ViewBag的区别