1.ViewData和ViewBag

ViewBag和ViewData生命周期相同,仅对当前View有效,不同的是ViewBag的类型不再是字典的键值对结构,而是dynamic动态类型。

2.TempData

TempData保存在Session中,Controller每次执行请求的时候,会从Session中先获取TempData,而后清除Session,获取完TempData数据,虽然保存在内部字典对象中,但是其集合中的每个条目访问一次后就从字典表中删除。

具体代码层面,TempData获取过程是通过SessionStateTempDataProvider.LoadTempData方法从ControllerContext的Session中读取数据,而后清除Session,故TempData只能跨Controller传递一次。

如果我们想读取TempData的值但是又不让它被删除,可以使用TempData.Peek("Key")方法。如果想再保持一次TempData里面的值,可以使用TempData.Keep("Key").

转载于:https://www.cnblogs.com/leiOOlei/archive/2012/09/11/2679902.html

MVC3中的tempdata,viewdata,viewbag总结相关推荐

  1. ASP.NET MVC3中Controller与View之间的数据传递总结

    一.  Controller向View传递数据 1.       使用ViewData传递数据 我们在Controller中定义如下: [csharp] view plaincopy print? V ...

  2. 几句话说明 .NET MVC中ViewData, ViewBag和TempData的区别

    ViewData和TempData是字典类型,赋值方式用字典方式, ViewData["myName"]  ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.m ...

  3. 部分视图传viewbag_MVC控制器传递多个Model到视图,使用ViewData, ViewBag, 部分视图, TempData, ViewModel, Tuple...

    从控制器传递多个Model到视图,可以通过ViewData, ViewBag, PartialView, TempData, ViewModel,Tuple等,本篇逐一体验.本篇源码在github. ...

  4. C#中MVC之ViewData与ViewBag的使用与区别

    ViewData是字典类型,赋值方式以键值对的形式,通过key值读取对应的value, ViewData["myName"]. ViewBag是动态类型,使用时直接添加属性赋值点即 ...

  5. html里面的view怎么修改,asp.net mvc 3-在局部视图中修改MVC 3 ViewBag不会保留到_Layout.cshtml...

    asp.net mvc 3-在局部视图中修改MVC 3 ViewBag不会保留到_Layout.cshtml 我在Razor视图引擎中使用了MVC 3. 我想在局部视图的ViewBag中设置一些值,并 ...

  6. MVC3中的视图文件

    在MVC3中的视图部分,Razor视图引擎是与以往不同的地方之一,使用Razor的视图文件再也不是以往的ASPX文件了,是cshtml文件,在新建视图的时候也会发现增加多了几类文件 由上到下分别是 M ...

  7. 一起谈.NET技术,在ASP.NET MVC3 中利用JSONP跨域登录WEB系统

    在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复登陆.每次登录都需要输入用户名和密码.最近比较流行的就 ...

  8. NET MVC3 中的枚举多语言实现,DescriptionPairAttribute

    以下是在实际项目中遇到的问题,项目架构:MSSQL2008.NET4.0.MVC3.XSLT视图引擎. 项目需求:要实现多语言站点. 视图引擎使用了弱类型的XSLT引擎: 多国语解决方案:多个XML语 ...

  9. spring mvc3中JACKSON序列化日期格式的问题 - 墙头草的Java - BlogJava

    spring mvc3中JACKSON序列化日期格式的问题 - 墙头草的Java - BlogJava在SPRING MVC3中,比如做REST时,经常要用JASON去解析,遇到了日期格式化的问题, ...

最新文章

  1. 基于Spark ML 聚类分析实战的KMeans
  2. 由event target引发的关于事件流的一连串思考(二)
  3. 计算机二级考数组吗,数组-Java语言程序设计重要笔记 计算机二级考试
  4. Spring 提供哪些配置形式?
  5. freemarker结合springMVC配置
  6. 诗和远方:无题(四十六)
  7. Java 条件运算符?:
  8. 【紫书】(UVa12096) The SetStack Computer
  9. Java并发编程中锁的正确使用方法
  10. python3 shell脚本开发_python3 subprogress 模块的使用 代替shell编写脚本
  11. psftp的用法(超级详细)
  12. 忘记linux密码怎么办?
  13. WPFAvalonDock基本用法
  14. Android--使用开源vitamio做万能视频播放器
  15. Android App Bundle出来了,App加壳技术不能用了怎么办?
  16. 强大的支持多文件上传的jQuery文件上传插件Uploadify
  17. PLM系统的经济收益
  18. 三菱FX5U-绝对定位指令 DRVA(DDRVA) 两种写法
  19. Cisco(20)——扩展ACL
  20. Quartz定时任务使用小记(11月22日)

热门文章

  1. CasperJs 入门介绍
  2. BZOJ4155 : [Ipsc2015]Humble Captains
  3. WP7 开发(二) 通过Geometries来绘制形状
  4. 软件项目获取用户需求的沟通技巧(摘自IT168技术频道)
  5. Expected a key while parsing a block mapping. assets: ^
  6. 1.3 Quick Start中 Step 3: Create a topic官网剖析(博主推荐)
  7. CSS 关于雪碧图预处理和后处理方案的讨论
  8. openssl C函数总结,
  9. linux一键优化脚本1.0
  10. C++中const——由一个例子想到的