ViewData与ViewBag比较】的更多相关文章

Asp.net 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 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中查询数据时不需要类型转换 有一些类型转换代码 可读性更好 参考:http://www.c…
一.ViewData和ViewBag 1.ViewData和ViewBag都是从Action向View传递数据的方式,当然还有其他方式如向View传递Model. 2.ViewData页面查询数据时需要转换合适的类型(var std in ViewData["students"] as IList<Student>),ViewBag不需要,他们的使用方法如下: 1)ViewBag: controller中定义ViewBag.name="Tom"; vie…
在MVC3开始,视图数据可以通过ViewBag属性访问,在MVC2中则是使用ViewData.MVC3中保留了ViewData的使用.ViewBag是动态类型(dynamic),ViewData是一个字典型的(Dictionary).viewData比viewBag要快,且在viewPage中查询数据是需要转换数据类型,而viewBag不需要数据转换.TempData也可以用来向视图传递数据.只是ViewData和ViewBag的生命周期和View相同,只对当前View有用.而TempData则…
首先先用代码来说话: ViewData: public ActionResult Index() { List<string> colors = new List<string>(); colors.Add("red"); colors.Add("green"); colors.Add("blue"); ViewData["listColors"] = colors; ViewData["da…
说明: 原文作者贤新 原文地址:http://www.cnblogs.com/chenxinblogs/p/4852813.html ViewData和ViewBag主要用于将数据从控制器中传递到视图中去,ViewData本身就是一个字典.以KeyValue的形式存取值.ViewData的Value类型是Object,也就是可以将任意类型的值存储到ViewData中去,平时我们都在控制器中直接使用ViewData.本质上ViewData只是Controller父类ControllerBase中的…
MVC中Contoller与视图的数据传输 后台的值显示到界面上,我们有几种方式呢.MVC给我们提供了ViewData.ViewBag.TempData.Model这几种方式,当然我们也可以用ajax获取, 本文对前三种进行源码上的分析. ViewData ViewData是一个ViewDataDictionary类型的字典 之前说过视图其实也是类,继承自WebViewPage.那么一堆都解释的通了,我们在返回视图的时候ViewData已经被塞入到了这个类中.我们在视图上根据key拿到value…
在Asp.net MVC 3 web应用程序中,我们会用到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中查询数据时需要转换合适的类型 在V…
ViewBag and ViewData is a mechanism(机制) to pass data from controller to view. We use '@' symbol(符号) to switch between html and C# code. Both ViewData and ViewBag are used to pass data from a controller to a view. ViewData is a dictionary of object th…
一.介绍 在Asp.net MVC 3 web应用程序中,我们会用到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中查询数据时需要转换合适的…
转载原地址 http://www.cnblogs.com/sunshineground/p/4350216.html 在ASP.NET MVC中,页面间Controller与View之间主要有以下几种小量数据的传值方式:ViewData.ViewBag.TempData和Session变量. 下面就这四种传值方式做出详细介绍. 一.ViewData ViewData是一个继承自ViewDataDictionary类的Dictionary对象,它只能存储String Key/Object Valu…
  ViewData ViewBag TempData 类型 字典 Dynamic TempDataDictionary 出生时间 MVC1 MVC3   框架版本 .net3.5 .net4.0   是否需要拆装箱 需要 不需要   存储数据周期 一次HTTP请求 一次HTTP请求 一次HTTP请求   前后台调用数据时可通用   如何理解ViewData和ViewBag数据可通用: 在后台 public ActionResult List() { ViewBag.test="this is…
Asp.net MVC中的ViewData与ViewBag 在Asp.net MVC 3 web应用程序中,我们会用到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比ViewDat…
MVC使用过程中常常会用到TempData.ViewData.ViewBag三种方式,这三种什么差别呢? TempData:默认存储于Session中,可通过继承ITempDataProvider接口改变. 生命周期:经过一次Controller传递就失效,即View读取一次后相应的TempData即从TempData集合中删除,只是假设TempData未被View读取之前,其值可在Controller之间传递.PS:假设你不想TempData使用后就删除,您能够通过TempData.Peek(…
在Asp.net MVC 3 web应用程序中,我们会用到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中查询数据时需要转换合适的类型 在V…
在Asp.net MVC 3 web应用程序中,我们会用到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中查询数据时需要转换合适的类型 在V…
近期在开发项目中,使用的是ASP.NET MVC因为之前并没有接触,对于它的传值方式有些陌生,在这里进行初步总结积累学习. 一:使用 ViewData使用: public ActionResult Index() { List<string> colors = new List<string>(); colors.Add("red"); colors.Add("green"); colors.Add("blue"); Vi…
TempData,ViewData和ViewBag的比较 学习ASP.NET有大约一个月了,一直都是半生不熟的,因为之前的很长时间都是在做java开发,没有时间静下来心来学习,加上ASP.NET的框架也很复杂,一时间也是看的昏头转向的,所以只能看到一点记录一点,慢慢积累,慢慢总结吧. Action向View传递数据很简单,方式也很多,最直接的就是我们向View传递Model,这本身就是MVC的意义所在.如果是显示一些消息,像是错误信息,可以使用ViewData: public ActionRes…
ViewBag和TempData的区别 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中查询数据时不需要类型转换 有一些类型转换代码 可…
简  介 在前面的章节中,我们已经很清楚,MVC工作模型的流程,Controller中的Action接收到客户端的请求,处理后要将数据返回给View,那么Action中是如何将数据返回给View的,二者之间打通的桥梁又是什么呢? 这些问题正是本章节需要解决的,下面先复习一下MVC的请求模型,如下图: (一). 先解决第一个问题,Action向View中传值有四种方式:ViewData.ViewBag.TempData.Model,随意选中一个点击F12查看源码,源码如下: 分析:ViewData…
先定义一个Model类Student namespace Lession.Models { public class Student { public string Name { get; set; } public int Age { get; set; } public string Sex { get; set; } } } 控制器如下: using Lession.Models; using Microsoft.AspNetCore.Mvc; namespace Lession.Cont…
ViewData 和 ViewBag都是页面级别的生命周期,TempData--Passing data between the current and next HTTP requests TempData默认是实现方式--存在session中,所以结论很简单,能不用就不用..要么负载时就麻烦了. Passing data between the current and next HTTP requests - See more at: http://www.rachelappel.com/w…
简介 这篇文章是我在学习ASP.NET MVC程序传值方式梳理总结的笔记.在ASP.NET MVC中,页面间和Controller与View之间主要有以下几种小量数据传值方式, ViewData.ViewBag.TempData.Session变量. 我们是幸运的,微软提供给了我们这么多传值方法,但选择越多越让人抓狂,这些技术每一种都有自己的优点和缺点,我应该何时使用哪一种传值方式呢? 正文 上面的这四种方法中,ViewData和ViewBag其实是一回事, ViewBag其实是对ViewDat…
★ViewData和ViewBag:生命周期相同,仅对当前View有效,不同的是ViewBag的类型不是字典的键值对结构,而是dynamic动态类型. ViewData ViewBag Key/Value字典集合 dynamic类型对象 从ASP.NET MVC1就有了 ASP.NET MVC3才有 基于ASP.NET 3.5 framework 基于ASP.NET 4.0 framework ViewData比ViewBag快 ViewBag比ViewData慢 在ViewData中查询数据时…
在"MVC控制器传递多个Model到视图,使用ViewData, ViewBag, 部分视图, TempData, ViewModel, Tuple"中,体验了使用不同的方式传递多个Model,而ViewData.ViewBag.PartialView.TempData.ViewModel.Tuple都可以用来传递Model,如何取舍呢?本篇主要包括: 使用ViewData 使用ViewBag 使用PartialView 使用TempData 使用ViewModel 使用Tuple 总…
本文导读:在asp.net mvc程序设计中,传递数据常常会用到viewdata.viewbag.ViewData是一个字典集合,通过key值读取对应的value:ViewBag是动态类型,作用和ViewData一样,都是用来存储信息,有一些不同的是ViewData是object类型,ViewBag是动态类型. 视图数据可以通过ViewBag属性访问,它主要是为了从Controller到view进行传值用的,类似有所使用的ViewData[] 字典类. 一.ViewBag的定义   public…
ViewData与ViewBag使用的是同一个数据源,因此数据一样,只是ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型(http://www.cnblogs.com/kissdodog/archive/2013/01/20/2868644.html),它会在程序运行的时候动态解析.但是只有当访问的关键字是一个有效的C#标识符时,ViewBag才起作用.例如ViewData["have space"]用ViewBag是无法访问的.ViewData[] 传递的key…
本文转自:http://www.cnblogs.com/wintersun/archive/2012/01/21/2328563.html 在Asp.net MVC 3 web应用程序中,我们会用到ViewData与ViewBag,对比一下: ViewData ViewBag 它是Key/Value字典集合 它是dynamic类型对像 从Asp.net MVC 1 就有了 ASP.NET MVC3 才有 基于Asp.net 3.5 framework 基于Asp.net 4.0与.net fra…
既然结论是“共享着相同的数据”,那我们就证实一下吧. 看来结论是正确的. 去查看定义,发现他们的类型是不一样的,ViewData是ViewDataDictionary,ViewBag是dynamic. 下个断点,看一下监控这时候发现ViewBag的类型不是定义中的dynamic,变成了是DynamicViewDataDictionary既然数据是共享的同一份,那这个ViewDataDictionary和DynamicViewDataDictionary,又有什么关系呢? 使用ILSpy反编译发现…
一.ViewData.ViewBag和TempData的定义 public dynamic ViewBag { get; } public ViewDataDictionary ViewData { get; set; } public TempDataDictionary TempData { get; set; } 二.使用方法 1.viewdata public ActionResult Index() { ViewData["message"] = "Hello Wo…