其他分享
首页 > 其他分享> > ViewData,ViewBag,TempData

ViewData,ViewBag,TempData

作者:互联网

原文:ViewData,ViewBag,TempData

 

ViewData

ViewData 对象大家应该比较了解了,它是一种字典集合数据,可存放任意类型,所以,使用时需要强制类转换。

ViewData 是“视图基类”和“控制器基类”的属性,所以,在控制器和视图中可以直接使用。我们通常是在控制器中写入数据,在视图中读取数据。

ViewBag

ViewBag 对象是 dynamic 类型的对象,同样也是“视图基类”和“控制器基类”的属性。使用更灵活方便。

特点:ViewBag 其实是对 ViewData 数据的包装,使用 ViewData 保存的数据可使用 ViewBag 读取,反之亦然。实际开发中最好选择其中的一种使用,建议使用 ViewBag。具体使用如下:

 

 

跨请求数据传递 TempData

TempData 是一种字典对象,也能用于从“控制器到视图”的数据传递,和 ViewData 类似。

TempData 还能实现“不同请求之间”的数据传递。使用如下:

注意的问题:TempData 数据保存机制是 Session,但又不完全同 Session。

情况 1:TempData 保存数据后,如果被使用,就会被清除,因此后面的请求将不能再次使用。

情况 2: TempData 保存数据后,如果没有被使用,则它保存的时间是 Session 的生存期。

控制器和视图数据传递总结

 

标签:控制器,ViewData,ViewBag,TempData,视图,使用
来源: https://www.cnblogs.com/lonelyxmas/p/12563918.html