Controller和View传递数据的几种方式

  1. 使用ViewBag存储数据,如ViewBag.time=2012/7/1,View中可以直接用ViewBag("time")的方式取出数据。

  2. 使用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 />
    }

  3. 使用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属性就可以获得控制器中所设置的对象数据。
posted @ 2014-07-30 11:31  lhyterry  阅读(1895)  评论(0编辑  收藏  举报