ASP.net MVC+ViewData VS ViewBag
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.net MVC+ViewData VS ViewBag,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2087字,纯文字阅读大概需要3分钟。
内容图文
在使用MVC框架的过程中,往界面传值,我们使用的ViewData,如ITOO部分代码图解:
当然除了ViewData,我们还可以使用同卵兄弟(ViewBag)来完成同样的功能,详情demo:
我们先看看常用的ViewData的Controller和View以及运行情况:
Controller简易代码:
public ActionResult Index() { //定义了一个集合Fruits List<string> Fruits = new List<string>(); Fruits.Add("apple"); Fruits.Add("banana"); Fruits.Add("orange"); //将Fruits集合赋值给ViewData ViewData["ListFruits"] = Fruits; //简单赋值 ViewData["name"] = "huohuo"; return View(); }View简易代码:
<html> <p> @*这是我们常用的一种,直接把ViewData单个赋值显示到页面上*@ My name is <b>@ViewData["name"]</b><br /> I just want to eat some Fruits, like: </p> <ul id="fruit"> @*由于是一个数组/集合,所以必须遍历才能够实现*@ @foreach (var fruit in ViewData["ListFruits"] as List<string>) { <li><font fruit="@fruit">@fruit</font></li> } </ul> </html>最后运行的效果:
先不说任何结果,我们紧接着看看ViewBag的Controller,View和运行结果:
Controller简易代码:
public ActionResult Index() { List<string>Fruits = new List<string>(); Fruits.Add("apple"); Fruits.Add("banana"); Fruits.Add("orange"); ViewBag.ListFruits = Fruits; //colors ViewBag.Name = "huohuo"; return View(); }View简易代码:
<html> <p> @*这是我们常用的一种,直接把ViewData单个赋值显示到页面上*@ My name is <b>@ViewBag.Name</b><br /> I just want to eat some Fruits, like: </p> <ul id="fruit"> @*由于是一个数组/集合,所以必须遍历才能够实现*@ @foreach (var fruit in ViewBag.ListFruits) { <li><font >@fruit</font></li> } </ul> </html>最后的运行效果:
通过对比可以发现其实两者的运行结果是一样的,那么既然都能够实现相同的功能,那么两者同卵双胞胎到底有何异同点呢?下面就和小编来分析分析:
上面举例demo只是想表达一下运行的效果,其实对于ViewData和ViewBag,两者并没有什么区别,只是ViewData出生的比较早而已,他是在Viewdata的成长基础上又优化了一下自己的功能而已。
ViewData | ViewBag | |
---|---|---|
类型 | Key/Value字典集合 | dynamic类型对象 |
出生基础 | 基于ASP.Net 3.5 | 基于ASP.Net 4.0 |
速度 | 快 | 慢 |
是否需要类型转换 | 需要转换合适类型 | 无需转换 |
基于时期 | Asp.net MVC 1就出生了 | MVC 3 才出世 |
至与我们为什么一直用ViewData,我想主要的原因还是因为速度相对快些,尽管有时候需要通过Json字符串来传值,但是这也是无关紧要的,对于ViewBag,不同的就是多了一层Dynamic类型,它可以在程序运行的时候动态解析,其实也就是在程序运行的时候占有了主动性,所以如果只是简单的显示值,根据自己的喜爱来使用就行。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/huo065000/article/details/47463495
内容总结
以上是互联网集市为您收集整理的ASP.net MVC+ViewData VS ViewBag全部内容,希望文章能够帮你解决ASP.net MVC+ViewData VS ViewBag所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。