ASP.NET控制器向View的四种传值方式
分类:
文章
•
2023-03-21 13:11:37
Controller向View中传递信息
ViewBag和ViewData方式
- Controller文件中
- View文件中
- 默认控制器为HomeController,默认视图为Index.html
- ViewBag中的动态类型对象可以加任何类型的属性和方法
- ViewBag本质上是ViewData[“键值名称”]中的键值名的引用
- ViewBag一般存放不重要的数据,如侧边广告
- ViewBag其实是对ViewData的封装ViewBag可以存储动态类型(dynamic)的变量值, 而ViewData只能存储String Key/Object Value字典数组。
- ViewBag和ViewData存储的值的生命周期只在从Controller到View中有效
TempData方式
- Controller文件中
- View文件中
- TempData中的数据不仅在从Controller到View中有效,在不同的Action之间或者从一个页面跳转到另一页面(Controller to Controller)后依然有效
- TempData是用来在多个Actions或页面发生了重定向(Redirection)时传递共享数据
- 刷新会清空TempData中的数据
model方式
- Model文件中
创建Student对象
- Controller文件中
向View中传递对象数据
- View文件中
- 一个View方法中只能传一个对象
- 主要数据应该使用View方法传递
- 遍历文件时,先遍历home文件夹下,后遍历shared文件夹下