mvc中viewdata 和viewbag的区别

ViewData                                                                           ViewBag
它是Key/Value字典集合                                                                       它是dynamic类型对像
从Asp.net MVC 1 就有了                                                                      ASP.NET MVC3 才有
基于Asp.net 3.5 framework                                                                 基于Asp.net 4.0与.net framework
ViewData比ViewBag快                                                                        ViewBag比ViewData慢
在ViewPage中查询数据时需要转换合适的类型                               在ViewPage中查询数据时不需要类型转换
有一些类型转换代码                                                                              可读性更好

用代码说明问题:

后台:

ViewData:
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();


ViewBag:
List<string> colors = new List<string>();
colors.Add("red");
colors.Add("green");
colors.Add("blue");
ViewBag.ListColors = colors;
ViewBag.DateNow = DateTime.Now;
ViewBag.Name = "Hajan";
ViewBag.Age = 25;
return View();

前台:

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>

 

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>

 

本文代码部分转自:http://blog.csdn.net/a497785609/article/details/7854402

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值