在MVC编程过程中,不可避免要进行前端和后端的数据交互,在C#中提供了3中方式,如下:
1】ViewData对象
ViewData是一种字典集合数据,是“视图基类”和“控制器基类”的属性
常见用法是在控制器中写入数据,在视图中读取数据
ViewData的Value可以存放任意数据类型的数据,因此使用过程中需要进行强制类型转换;
2】动态对象ViewBag
ViewBag是dynamic类型的对象,同样也是“视图基类”和“控制器基类”的属性;
好处:十分的灵活
特点:View Bag其实是对ViewData数据的包装,使用ViewData保存的数据可以使用View Bag读取,反之亦然,在一般的开发过程中建议使用ViewBag;
3】跨请求数据传递TempData
Temp Data是字典对象,也能用于从“控制器到视图”的数据传递,和ViewData类似
特性:Temp Data 还能实现不同请求之间的数据传递
注意事项:
Temp Data 数据保存机制是Session,但由不同于Session
情况1、TempData 保存数据后,如果被使用,就会被清除,因此后面的请求将不能再次使用;
情况2、TempData保存数据后,如果没有被使用,则它保存的周期是session的生命周期;