一、ViewData
1、ViewData是一种字典集合数据(即键值对类型),是“视图基类”和“控制器基类”的属性
2、常见用法是在控制器中写入数据,在视图中读取数据
3、ViewData的values可以存放任意数据类型的数据,因此使用时需要强制类型转换
二、ViewBag动态对象
1、ViewBag是dynamic类型对象,同样也是“视图基类”和“控制器基类”的属性
2、ViewBag使用更加灵活方便(可以直接使用,编写的时候不会进行错误检查,但是运行的时候没有就会报错)
3、ViewBag其实是对ViewData数据的一个包装,使用ViewData包装的数据可以使用ViewBag进行读取,反之亦然。实际开发过程中建议使用ViewBag
三、跨请求数据传递TempData
1、TempData的一种字典对象,也能用于控制器到视图的数据传递
2、TempData可以实现跨请求的数据传递
return RedirectToAction("action","controller")
3、TempData的保存机制和session但又不完全同于session
(1)、TempData中的数据一旦被使用就会被清除
(2)、TempData中的数据