在asp.net mvc的开发过程中,我们经常会遇到需要将查询出来的值从控制器传入页面上遍历出来,Asp.Net MVC控制器传值到页面一共有三种方式。
ViewBag
ViewBag.book中的book是可以随便修改的,因为是动态表达式,前台要这样显示。
Asp.Net MVC控制器传值到页面的三种方式
因为ViewBag返回的是Iqueryable的类型,不能直接遍历,所以用Iqueryable和list都继承的Ienumerable来强转,泛型里面填的是查询对应的数据库表名,如果直接写表名不能引入命名空间,则手动输入,MvcAPPlicationl是项目名,Models是模型层,EF就添加在里面。
ViewData
Asp.Net MVC控制器传值到页面的三种方式
ViewData[“key”],key可以随便输, 前台要这样显示。
Asp.Net MVC控制器传值到页面的三种方式
ViewData[“key”] 返回的也是Iqueryable的类型,必须用继承的Ienumerable来强转,其他方面跟ViewBag一样。
ViewData.Model
Asp.Net MVC控制器传值到页面的三种方式
前台跟前两个的显示有所不同。
Asp.Net MVC控制器传值到页面的三种方式
注意,这里还是由于类型的原因,所以要在页面上定义model的类型
Asp.Net MVC控制器传值到页面的三种方式
@紧跟model,注意这里的model是小写的,然后空格加强转的类型,不需要分号结束
三种方法的效果展示
Asp.Net MVC控制器传值到页面的三种方式