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的区别与联系相关推荐

  1. ASP.NET MVC 传值方法ViewData与ViewBag的区别

    一.介绍 在Asp.net MVC 3 web应用程序中,我们会用到ViewData与ViewBag,对比一下: ViewData ViewBag 它是Key/Value字典集合 它是dynamic类 ...

  2. mvc中viewdata 和viewbag的区别

    ViewData                                                                           ViewBag 它是Key/Val ...

  3. TempData、ViewData和ViewBag的区别

    ViewData是Dictionnary型的,ViewBag是dynamic型,会在程序运行的时候动态解析. ViewData为object型,ViewBag为dynamic型. TempData的使 ...

  4. ViewBag和ViewData的用法和区别

    ViewBag和ViewData的用法和区别 作者:欧日鑫 撰写时间:2020年8月8日 一.ViewBag的定义 public dynamic ViewBag {get {if (_dynamicV ...

  5. ViewData与ViewBag的使用和区别

    ViewData与ViewBag的区别 1.ViewData是字典类型,赋值方式以键值对的形式,通过key值读取对应的value, ViewData["myName"]. 2.Vi ...

  6. ViewData与ViewBag的区别是什么

    一.ViewBag的定义 public dynamic ViewBag {     get {         if (_dynamicViewData == null) {              ...

  7. ViewBag 和 ViewData 的用法和区别

    所谓的ViewBag是asp.net mvc3 中对ViewData 的 一种动态封装,用法更方便.它赋值的方法:ViewBag.Name = "jack":其实ViewBag[& ...

  8. C#中MVC之ViewData与ViewBag的使用与区别

    ViewData是字典类型,赋值方式以键值对的形式,通过key值读取对应的value, ViewData["myName"]. ViewBag是动态类型,使用时直接添加属性赋值点即 ...

  9. MVC ViewData和ViewBag

    视图数据可以通过ViewBag属性访问,它主要是为了从Controller到view进行传值用的,类似有所使用的ViewData[] 字典类.对于ViewBag是如此的强大,意味着你能动态的set/g ...

最新文章

  1. C# 打印多页tif
  2. ElasticSearch聚合语法学习(bucket,metric,hitogram,date hitogram)
  3. 在java 8 stream表达式中实现if/else逻辑
  4. 面象对象设计6大原则之三:里氏替换原则
  5. CTF-MISC杂项题1
  6. OpenCV3学习(11.7) BRISK特征检测器及BRISK描述符
  7. 十六进制转换html,如何使用JavaScript将十进制转换为十六进制?
  8. 李彦宏发布内部信:宣布升级百度“云+AI”战略
  9. 聚类模型ari_7.9 聚类模型评估
  10. 实验七 数据选择器和译码器的应用
  11. MySQL增加字段SQL语句
  12. Android开源库——xUtils框架
  13. 计算机组成原理平均cpi怎么算_计算机组成原理(一)
  14. QCC3040---芯片数据手册 ADK release data sheet
  15. code review流程规范
  16. golang后台管理系统Iris+Layui框架搭建教程
  17. 玩转Python量化金融工具之NumPy
  18. 原来是这么做的,在抖音解说电影,6个月赚了40w?
  19. JAVA程序开发参考手册
  20. php怎么建留言本,php实现留言板功能的详细代码

热门文章

  1. 计算机基础知识教程excel函数计算,计算机基础知识:Excel中的函数操作(四)...
  2. 微信小程序生成paySign
  3. centos浏览器可以上外网但是ping不通
  4. 使用word完成海报制作说明书
  5. 如何管理应用的生命周期?
  6. 一个小白对接电子面单的哪些坑?
  7. Xposed获取微信好友列表(通讯录),看看这是你要的详细吗
  8. flutter - mixin
  9. 第四讲:统计分析之良率和敏感度分析
  10. php类的开发语言,php是什么开发语言