如何在Viewbag mvc4中显示数据?

时间:2013-11-27 09:28:03

标签: asp.net-mvc-3 asp.net-mvc-4 razorengine

这是我的控制器

 public ActionResult Index()
    {
       var data = (from o in db.aspnet_Users
                          from q in db.aspnet_Profile
                          where
                          o.UserId == q .UserId
                          select new{
                              o.UserId,
                              o.UserName,
                              q.Address,
                              q.Email,
                              q.Phone,
                              q.Mobile,
                              q.SocialID,                                  
                          }
                          ).ToList();
       ViewData["Allprofile"] = data;
        return View();
    }

并且我想在表格视图中显示数据,在一个视图中显示2个db模型有一个问题,因为从Database而不是Code First生成的模型所以我正在尝试使用ViewData显示数据任何帮助?

1 个答案:

答案 0 :(得分:2)

为什么不在这里使用ViewModel?你在某种程度上打败了MVC的目的。 视图模型将封装您需要在View上显示的数据。将视图模型传递给视图 - 视图将接受强类型视图。

由于多种原因,ViewData永远不应该用于繁重/复杂的对象 - 性能为一,但也没有类型安全/强类型支持。

更改您的代码,以便返回一个ViewModel,其中包含您需要向用户显示的数据。