ViewBag和ViewData的用法和区别
来源:互联网 发布:2016中小企业数据统计 编辑:程序博客网 时间:2024/06/05 17:43
ViewData
ViewData是一个特殊的字典类的名称,我们可以用标准的字典语法进行修改或赋值,比如:ViewData["Name"] = "Jack";
ViewBag
ViewBag 是asp.net mvc3中对ViewData的一种动态封装,用法更方便。他的赋值方法是:ViewBag.Name = "Jack";
也就是说ViewData["Name"] 和 ViewBag.Name是一样的效果。
ViewBag和ViewData的区别
虽说用ViewBag来代替ViewData使用着更快捷,但是相对于ViewData来说,ViewBag还是有一些不能用的地方:1.ViewBag要访问的必须是一个有效的标识符,否则无效。比如:ViewData["Query Income"]就不能使用ViewBag来访问。因为“Query Income”中有无效的C#标识符 空格。
2.动态值不能作为一个参数传递给扩展方法。因为C#为了选择正确的扩展方法规定必须标明每一个参数的类型。如果参数中有任何一个参数是动态的就无法通过编译。比如:
@Html.TextBox("Name",ViewBag.Name)就会编译失败。
解决方法:
① 将ViewBag.Name替换为ViewData["Name"];
② 把ViewBag.Name替换为一个具体类型的参数:(string)ViewBag.Name;
0 0
- ViewBag和ViewData的用法和区别
- ViewBag 和ViewData 区别
- mvc中viewdata 和viewbag的区别
- MVC3中 ViewBag、ViewData和TempData的使用和区别
- MVC3中 ViewBag、ViewData和TempData的使用和区别
- MVC3中 ViewBag、ViewData和TempData的使用和区别
- MVC3中 ViewBag、ViewData和TempData的使用和区别
- MVC中ViewBag、ViewData和TempData 的区别与联系
- asp.net MVC-- viewbag和viewdata的区别
- MVC中ViewBag、ViewData和TempData 的区别与联系
- MVC中TempData、ViewData和ViewBag的区别
- MVC ViewData和ViewBag
- ViewBag和ViewData
- viewData与ViewBag的区别
- TempData、ViewData和ViewBag异同
- TempData、ViewData和ViewBag异同
- TempData、ViewData和ViewBag异同
- 关于TempData 、ViewBag和ViewData
- DUBBO研究与学习二:打基础-同步调用、回调和异步调用区别
- yii2美化路由相关配置
- org.hibernate.LazyInitializationException: could not initialize proxy
- HibernateCallback
- 平衡二叉树的实现
- ViewBag和ViewData的用法和区别
- android平台 java程序 编译
- IOS 图片处理—-OpenCV
- Zurmo(十四)之ListView重写SecuredActionBar
- EOS7+中结合NUI实现流程图和活动信息的显示
- XFire创建WebService实例
- 代理的三种方法
- c/c++ No.16 求字符串长度
- string封装一些小函数