MVC中从控制器到视图的数据传递方法汇总

85 篇文章 0 订阅
15 篇文章 0 订阅

1、ViewData对象
概述
ViewData是一种字典集合数据,是"视图基类"和"控制器基类"的属性
常见用法是在控制器中写入数据,在视图中读取数据
ViewData的Value可以存放任意数据类型的数据,因此使用时需要强制转换


2、动态对象ViewBag
概述
理解:ViewBag是dynamic类型的对象,同样也是"视图基类"和"控制器基类"的属性
好处:使用更灵活方便
特点:ViewBag其实是对ViewData数据的包装,使用ViewData保存的数据可使用ViewBag读取,反之亦然
应用:实际开发中最好选择其中的一种使用,建议使用ViewBag


3、跨请求数据传递TempData
概述
理解:TempData是一种字典对象,也能用于从"控制器到视图"的数据传递,和ViewData类似
特性:TempData还能实现"不同请求之间"的数据传递

注意问题:
TempData数据保存机制是Session,但又不完全同Session
情况1:TempData保存数据后,如果被使用,就会被清除,因此后面的请求将不能再次使用
情况2:TempData保存数据后,如果没有被使用,则它保存的时间是Session的生存期

 

几种传递方式的比较

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值