Controller和View传递数据的几种方式
- 使用ViewBag存储数据,如ViewBag.time=2012/7/1,View中可以直接用ViewBag("time")的方式取出数据。
- 使用ViewData存储数据,存储对象集合:
var data = db.tb_Users.ToList();
ViewData["data"] = data;
return View();
返回View的集合一定是要实现了IEnumerable接口的数据,在ViewPage中需要转换合适的类型 如:@foreach (var item in ViewData["data"] as List<MVC_DEMO.tb_Users>)
{
@item.UserName <br />
} - 使用Model传递数据
var data = db.tb_Users.ToList();
return View(data);
由于需要在页面中遍历对象,所以View中需要引入相应的Model @model List<MVC_DEMO.tb_Users> 数据便利的时候无需转换
@foreach (var item in Model)
{
@item.UserName <br />
}
注:在控制器View()方法中,传递实例化对象时,控制器就会将ViewDataDictionary类的Model属性设置成为需要被传递的对象;在视图中只需要读取ViewPage类中的Model属性就可以获得控制器中所设置的对象数据。