asp.net mvc之TempData、ViewData、ViewBag

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

ViewDataViewBag
Key/Value字典集合dynamic类型对象
从ASP.NET MVC1就有了ASP.NET MVC3才有
基于ASP.NET 3.5 framework基于ASP.NET 4.0 framework
ViewData比ViewBag快ViewBag比ViewData慢
在ViewData中查询数据时需要转换合适的类型在ViewBag中查询数据时不需要类型转换
有一些类型转换代码可读性更好

  ●ViewData

    ViewData["Title"]="ViewData"; 

  ●ViewBag

    ViewBag.Title="ViewBag";

★TempData

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

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

   

 

转载于:https://www.cnblogs.com/sydeveloper/p/3317283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值