码迷,mamicode.com
首页 > Web开发 > 详细

mvc中viewdata 和viewbag的区别

时间:2015-03-17 18:17:30      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:viewbag   viewdata 区别   

     

mvc中viewdata 和viewbag的区别  

                   2013-06-18 15:43:45|  分类:          MVC                          |举报        |字号 订阅      

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://rmlifejun.blog.51cto.com/7683304/1621487

mvc中viewdata 和viewbag的区别

标签:viewbag   viewdata 区别   

原文地址:http://rmlifejun.blog.51cto.com/7683304/1621487

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!