ViewBag、ViewData、TempData区别

1、ViewData

  • ViewData的生命周期和View相同, 只对当前View有效。

2、TempData

  • TempData保存在Session中, Controller每次执行请求的时候会从Session中获取TempData并删除Session。
  • 获取完TempData数据后虽然保存在内部的字典对象中。
  • 但是TempData集合的每个条目访问一次后就从字典表中删除。
  • 也就是说TempData的数据至多只能经过一次Controller传递。
  • 并且每个元素至多只能访问一次。

 

3、ViewBag

  • ViewBag 是 MVC3 新增语法,ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型,它会在程序运行的时候动态解析。
时间: 2024-10-12 15:42:01

ViewBag、ViewData、TempData区别的相关文章

浅谈 MVC中的ViewData、ViewBag和TempData

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中的ViewData、ViewBag和TempData

一.ViewBag和ViewData的定义 public dynamic ViewBag { get; } public ViewDataDictionary ViewData { get; set; } 二.ViewBag和ViewData的区别 viewdata viewbag 它是key/value字典集合 它是dynamic类型对象 从asp.net mvc1就有了 从asp.netmvc3才有 基于asp.netframework 3.5 基于asp.net framework4.0

ASP.NET MVC中ViewData、ViewBag和TempData

1.ViewData 1.1 ViewData继承了IDictionary<string, object>,因此在设置ViewData属性时,传入key必须要字符串型别,value可以是任意类型. 1.2 ViewData它只会存在这次的HTTP要求而已,而不像Session可以将数据带到下HTTP要求. public class TestController : Controller { public ActionResult Index() { ViewData["msg&quo

ASP.NET MVC程序传值方式:ViewData,ViewBag,TempData和Session

转载原地址 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? - MVC为当前和后续请求之间传递数据的三种方法

原文出处:http://www.codeproject.com/Articles/476967/WhatplusisplusViewData-cplusViewBagplusandplusTem ASP.NET MVC提供3种选择ViewData,ViewBag,TempData来从controller到View及后续请求传输数据. ViewData和ViewBag很相似,而TempData有所不同. 让我们来讨论或总结三者的要点: ViewBag 和 ViewData的区别: ViewData

MVC ViewBag和ViewData的区别

在MVC3开始,视图数据可以通过ViewBag属性访问,在MVC2中则是使用ViewData.MVC3中保留了ViewData的使用.ViewBag 是动态类型(dynamic),ViewData 是一个字典型的(Dictionary).它们的定义如下: public dynamic ViewBag { get; } public ViewDataDictionary ViewData { get; set; } 控制器中代码: public ActionResult Index() { Vie

MVC5-8 ViewData、ViewBag、TempData分析

MVC中Contoller与视图的数据传输 后台的值显示到界面上,我们有几种方式呢.MVC给我们提供了ViewData.ViewBag.TempData.Model这几种方式,当然我们也可以用ajax获取, 本文对前三种进行源码上的分析. ViewData ViewData是一个ViewDataDictionary类型的字典 之前说过视图其实也是类,继承自WebViewPage.那么一堆都解释的通了,我们在返回视图的时候ViewData已经被塞入到了这个类中.我们在视图上根据key拿到value

ASP.NET-viewBag Viewdata Tempdata

ASP.NET MVC提供3种选择ViewData,ViewBag,TempData来从controller到View及后续请求传输数据. ViewData和ViewBag很相似,而TempData有所不同. 让我们来讨论或总结三者的要点: ViewBag 和 ViewData的区别: ViewData 是一个字典对象,从ViewDataDictionary 类继承,已string(字符串)作为键来访问对象. ViewBag 是一个动态属性,是c#4.0新增的优秀的动态特性. ViewData

怎么在js中,访问viewbag,viewdata等等的值

在js中要访问viewbag,viewdata存储的值, var ss='@ViewBag.name'; 一定要加引号,单双随便,还有, ViewBag一定要写规范,不然会编译错误! 成功者的秘诀就是:我们应该学习水的精神,当时机不到的时候,把自己的能量储蓄起来,当时机来临的时候就能冲破障碍,奔腾入海,成就自己的梦想.