码迷,mamicode.com
首页 > 其他好文 > 详细

ViewData与ViewBag

时间:2015-07-12 11:06:16      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:

ViewData与ViewBag使用的是同一个数据源,因此数据一样,只是ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型(http://www.cnblogs.com/kissdodog/archive/2013/01/20/2868644.html),它会在程序运行的时候动态解析。但是只有当访问的关键字是一个有效的C#标识符时,ViewBag才起作用。例如ViewData["have space"]用ViewBag是无法访问的。ViewData[] 传递的key/value,value是Object数据类型,传递到View层之后要用as运算转换一下才能够变为强类型数据,但是ViewBag是在 运行时才确定数据类型,因此根本不用转换。此处的不用转换类型是所有的类型,例如能够随意传递DateTime,String,其他自定义类型等等。但是就效率而言,ViewData[]稍高。

 

在ActionResult中:ViewData["list"] = PeopleList;

则在页面中需转换:@foreach(People_Model item in (ViewData["list"] as IEnumerable<People_Model>)) {

使用ViewBag则不需要转换

ViewData与ViewBag

标签:

原文地址:http://www.cnblogs.com/lunawzh/p/4640641.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!