视图数据可以通过ViewBag属性访问,它主要是为了从Controller到view进行传值用的,类似有所使用的ViewData[] 字典类。对于ViewBag是如此的强大,意味着你能动态的set/get 值,增加任何数量的的额外字段而不需要强类型的检测。如:

Controller

?
public ActionResult Index()
{
List< string > colors = new List< string >();
colors.Add( "red" );
colors.Add( "green" );
colors.Add( "blue" );
ViewData[ "listColors" ] = colors;
ViewData[ "dateNow" ] = DateTime.Now;
ViewData[ "name" ] = "Hajan" ;
ViewData[ "age" ] = 25;
return View();
}

Controller

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public ActionResult Index()
{
List< string > colors = new List< string >();
colors.Add( "red" );
colors.Add( "green" );
colors.Add( "blue" );
ViewBag.ListColors = colors; //colors is List
ViewBag.DateNow = DateTime.Now;
ViewBag.Name = "Hajan" ;
ViewBag.Age = 25;
return View();
}

 你和上面的对比 你看见了不同吗?

View
对应前台视图:

1.使用ViewData

<p>
My name is <b>@ViewData["name"] </b>,
<b>@ViewData["age"] </b>years old.
<br />
I like the following colors:
</p>
<ul id="colors">
@foreach (var color in ViewData["listColors"] as List<string>)
{
<li><font color="@color">@color </font></li>
}
</ul>
<p>
@ViewData["dateNow"]
</p>

2.使用ViewBag

<p>
My name is <b>@ViewBag.Name</b>, <b>@ViewBag.Age</b> years old.
<br />
I like the following colors:
</p>
<ul id="colors">
@foreach (var color in ViewBag.ListColors)
{
<li><font color="@color">@color</font> </li>
}
</ul>
<p>
@ViewBag.DateNow
</p>
效果图:
ViewBag、ViewData 和 TempData 的区别:

ViewData 和 TempData 都可以传递弱类型数据,区别如下:
ViewData 只在当前 Action 中有效,生命周期和 View 相同;
TempData 的数据至多只能经过一次Controller传递,并且每个元素至多只能被访问一次,访问以后,自动被删除。
TempData 一般用于临时的缓存内容或抛出错误页面时传递错误信息,可以将TempData 在使用之前存储到相应的 ViewData 中以备循环使用。

MVC ViewData和ViewBag相关推荐

  1. Asp.net MVC中的ViewData与ViewBag

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

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

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

  3. Asp.net MVC中的ViewData与ViewBag

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

  4. mvc中viewdata 和viewbag的区别

    ViewData                                                                           ViewBag 它是Key/Val ...

  5. 《MVC》——ViewData、ViewBag、TempData、model

    在学习MVC的过程中,Controller里面向View传递数据很重要,我们在Controller里面讲数据加工以后,传递给View,然后让View将数据在浏览器上显示出来,这样我们就能在浏览器上看见 ...

  6. Asp.net MVC中ViewData与ViewBag的使用方法(改)

    在做MVC开发时经常会用到ViewData和ViewBag进行传值操作,因为很常用所以在这里总结一下,以方便后来人. Album.cs: [csharp] view plain copy using  ...

  7. ASP.NET MVC 3中ViewBag, ViewData和 TempData

    ViewBag, ViewData十分类似,都可用于把数据从controller传递到view. ViewBag是WebViewPage中的一个属性,它的类型是dynamic.dynamic类型可以理 ...

  8. MVC中的ViewData、ViewBag和TempData

    一.ViewBag和ViewData的定义 public dynamic ViewBag { get; } public ViewDataDictionary ViewData { get; set; ...

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

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

最新文章

  1. fedora17 的 rc.local
  2. 计算机中cmos设置程序,电脑主板上有CMOS设置是什么意思
  3. myBatis如何返回count(*)得到的int值
  4. Leetcode--3Sum
  5. java 上传 进度,关于 javaweb的文件上传实时显示进度
  6. 乌班图安装mysql 目录_Ubuntu 安装mysql 自定义数据存储目录
  7. linux 系统 网卡 ethX没有显示IP的处理方式
  8. SQL Server 变量名称的Collcation跟Instance还是跟当前DB?
  9. 【ElasticSearch】深入理解 ElasticSearch Doc Values
  10. ubuntu14.04 安装pip vitualenv flask
  11. vsan Linux 网络磁盘,理解vSAN中的磁盘空间占用
  12. 使用ROW_NUMBER()查询:列名 'RowNumber' 无效。
  13. xlrd,xlwt操作Excel实例
  14. java出租车源码_基于WEB的JAVA出租车打车系统
  15. python py转exe逆向
  16. 《深度工作》学习总结
  17. PHP使用声网的页面录制、合流录制、单流录制
  18. 视频教程-shader 基础之 2D技巧集合-Unity3D
  19. 微博设置 和 逻辑
  20. 现代化物流对应术语解释

热门文章

  1. 图解:什么是图?(以“图”话图)
  2. 为什么全球最好的大学大半在美国?看看美国的孩子是怎么念书的 ~~
  3. 年末高压叠加“阳”后虚弱,双重压力下的测试者们该何去何从
  4. HP DeskJet 2131 喷墨一体打印机打印设置教程
  5. 贪心入门+10道例题+解析代码
  6. vncviewer退出全屏
  7. 古琴【A1】基本指法
  8. 盘点那些互联网思维的餐饮新品牌
  9. sql 查找一个月内数据
  10. Java汉字输入练习