MVC详细介绍(二)

5 篇文章 0 订阅

数据传递

ViewData对象

  1. ViewData是一种字典集合数据,是“视图基类”和“控制器基类”的属性
  2. 常见的用法是在控制器中写入数据,在视图中读取数据
  3. ViewData的value可以存放任意数据类型的数据,因此使用时需要强制转换

ViewBag对象

  1. ViewBag是dynamic类型的对象,同样也是“视图基类”和“控制器基类”的属性
  2. 好处:使用灵活方便
  3. 特点:ViewBag其实是对ViewData数据的包装,使用ViewData保存数据可以使用ViewBag读取,反之也是如此
  4. 实际开发中最好选择其中一种使用,建议使用ViewBag

TempData对象

  1. TempData是一种字典对象,也能用于从“控制器到视图的数据传递”,和ViewData类似
  2. TempData还能实现“不同请求之间”的数据传递,跨请求数据传递
  3. TempData保存数据的机制是Session,但又不完全和Session相同
  4. TempData保存数据后,如果被使用,就会被清除,因此后面的请求将不能再次使用
  5. TempData保存数据后,如果没有被使用,则他保存的时间是Session的生命周期

常用数据传递

传递方式应用场合跨请求
ViewData适合传递单个数据,需要类型转换不能
ViewBag适合传递单个数据,不需要类型转换不能
TempData主要用来跨多个动作方法传递数据
View()+Model适合传递模型数据,不需要类型转换
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值