MVC3中 ViewBag、ViewData和TempData的使用和区别
来源:互联网 发布:程序员眼镜 编辑:程序博客网 时间:2024/04/30 09:54
MVC3中 ViewBag、ViewData和TempData的使用和区别
public dynamic ViewBag { get; }public ViewDataDictionary ViewData { get; set; }
ViewBag和ViewData其实是互通的
ViewBag和ViewData的区别:
ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型,它会在程序运行的时候动态解析。
eg:
ViewBag.NumberObjs = new string[] { "one", "two", "three" }; ViewData["NumberArrs"] = new string[] { "one", "two", "three" }; //正确,dynamic类型的解析作用,foreach可以使用 foreach (var item in ViewBag.NumberObjs) { } //错误: foreach语句不可作用于object类型对象上 foreach (var item in ViewData["NumberArrs"]) { }
ViewBag其实本质就是ViewData,只是多了层Dynamic控制。所以,使用何种方式完全取决于你个人的爱好。
ViewBag和ViewData仅针对当前Action中有效,生命周期和View相同。
TempData: 保存在session中,controller每次执行请求时,会从Session中获取Tempdata(),而后清除session,
获取完TempData数据,虽然保存在内部字典中。但字典中每个条目访问一次后就从字典中删除。因此Tempdata数据最多只能经过一次controller传递,并且每个元素最多只能访问一次。之后自动删除
。详情请看:http://www.cnblogs.com/tristanguo/archive/2009/04/06/1430062.html
0 0
- MVC3中 ViewBag、ViewData和TempData的使用和区别
- MVC3中 ViewBag、ViewData和TempData的使用和区别
- MVC3中 ViewBag、ViewData和TempData的使用和区别
- MVC3中 ViewBag、ViewData和TempData的使用和区别
- MVC中ViewBag、ViewData和TempData 的区别与联系
- MVC中ViewBag、ViewData和TempData 的区别与联系
- MVC中TempData、ViewData和ViewBag的区别
- Asp.net MVC中ViewData、ViewBag和TempData区别
- MVC3中viewdata,tempdata,viewbag总结
- 几句话说明 .NET MVC中ViewData, ViewBag和TempData的区别
- TempData、ViewData和ViewBag异同
- TempData、ViewData和ViewBag异同
- TempData、ViewData和ViewBag异同
- 关于TempData 、ViewBag和ViewData
- MVC3中的tempdata,viewdata,viewbag
- mvc中viewdata 和viewbag的区别
- 浅谈 MVC3 中关于 ViewData 和 ViewBag 的区别和联系
- MVC中 ViewData、ViewBag、TempData的区别与联系
- POJ 1696 Space Ant(凸包变形)
- 用php实现mongodb 分组排序
- 使用反射调用自身的成员函数
- 黑马程序员----------JDK1.5新特性
- 安卓第一天(工程目录)
- MVC3中 ViewBag、ViewData和TempData的使用和区别
- UVa 1225 - Digit Counting
- 黑马程序员----------反射
- C#中怎么通过IP访问数据库?
- 杨氏矩阵查找
- 通过外网IP访问数据库
- 面试时,你会问面试官哪些问题?
- 【重读设计模式】桥接模式
- BZOJ 2190 [SDOI2008]仪仗队