ViewData与ViewBag的区别与联系
ViewData详述
- ViewData是一个继承自ViewDataDictionary类的Dictionary对象。
- ViewData用来从Controller向对应的View传递值。
- ViewData的只在当前当前的请求中有效,生命周期和View相同,其值不能在多个请求 中共享。
- 在重定向(redirection)后,ViewData中存储的变量值将变为null。
- 在取出ViewData中的变量值是,必须进行合适的类型转换(隐式或显式)和空值检查。 下面我们来看一个简单的例子,演示一下如何使用ViewData来从Controller向View传值。
然后,我们从视图中取出这个变量,
执行后,你将会在浏览器中看到如下的结果
可能你注意到了,我在从ViewData中取出变量Message时并没有对其进行类型转换,那时 因为我们存储的是一个简单类型的变量值。假如存储的是复杂对象,在取出是必须进行类型转换。 综上, ViewData更适合从Controller向View传递简单对象数据时使用
ViewBag详述
- ViewBag是一个动态类型变量(dynamic),这是C# 4.0引入的新特性,变量类型会在运 行时进行解析。
- ViewBag基本上是ViewData的包装,也是用来从Controller向View来传递值的。
- ViewBag也只在当前的请求中有效。
- 在重定向(redirection)后,ViewBag中存储的变量值将变为null 因为ViewBag是动态类型,所以我们在取得其值时,不需要进行类型转换。
同样,我们通过一个简单的例子来演示一下如何利用ViewBag从Controller向View传递数 据。
然后,在视图中取出数据并显示,
最后,执行程序,你将会在浏览器中看到如下结果,
ViewData与ViewBag的区别与联系相关推荐
- ASP.NET MVC 传值方法ViewData与ViewBag的区别
一.介绍 在Asp.net MVC 3 web应用程序中,我们会用到ViewData与ViewBag,对比一下: ViewData ViewBag 它是Key/Value字典集合 它是dynamic类 ...
- mvc中viewdata 和viewbag的区别
ViewData ViewBag 它是Key/Val ...
- TempData、ViewData和ViewBag的区别
ViewData是Dictionnary型的,ViewBag是dynamic型,会在程序运行的时候动态解析. ViewData为object型,ViewBag为dynamic型. TempData的使 ...
- ViewBag和ViewData的用法和区别
ViewBag和ViewData的用法和区别 作者:欧日鑫 撰写时间:2020年8月8日 一.ViewBag的定义 public dynamic ViewBag {get {if (_dynamicV ...
- ViewData与ViewBag的使用和区别
ViewData与ViewBag的区别 1.ViewData是字典类型,赋值方式以键值对的形式,通过key值读取对应的value, ViewData["myName"]. 2.Vi ...
- ViewData与ViewBag的区别是什么
一.ViewBag的定义 public dynamic ViewBag { get { if (_dynamicViewData == null) { ...
- ViewBag 和 ViewData 的用法和区别
所谓的ViewBag是asp.net mvc3 中对ViewData 的 一种动态封装,用法更方便.它赋值的方法:ViewBag.Name = "jack":其实ViewBag[& ...
- C#中MVC之ViewData与ViewBag的使用与区别
ViewData是字典类型,赋值方式以键值对的形式,通过key值读取对应的value, ViewData["myName"]. ViewBag是动态类型,使用时直接添加属性赋值点即 ...
- MVC ViewData和ViewBag
视图数据可以通过ViewBag属性访问,它主要是为了从Controller到view进行传值用的,类似有所使用的ViewData[] 字典类.对于ViewBag是如此的强大,意味着你能动态的set/g ...
最新文章
- C# 打印多页tif
- ElasticSearch聚合语法学习(bucket,metric,hitogram,date hitogram)
- 在java 8 stream表达式中实现if/else逻辑
- 面象对象设计6大原则之三:里氏替换原则
- CTF-MISC杂项题1
- OpenCV3学习(11.7) BRISK特征检测器及BRISK描述符
- 十六进制转换html,如何使用JavaScript将十进制转换为十六进制?
- 李彦宏发布内部信:宣布升级百度“云+AI”战略
- 聚类模型ari_7.9 聚类模型评估
- 实验七 数据选择器和译码器的应用
- MySQL增加字段SQL语句
- Android开源库——xUtils框架
- 计算机组成原理平均cpi怎么算_计算机组成原理(一)
- QCC3040---芯片数据手册 ADK release data sheet
- code review流程规范
- golang后台管理系统Iris+Layui框架搭建教程
- 玩转Python量化金融工具之NumPy
- 原来是这么做的,在抖音解说电影,6个月赚了40w?
- JAVA程序开发参考手册
- php怎么建留言本,php实现留言板功能的详细代码