-1

这是我的控制器

 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 模型时出现问题,因为从数据库生成的模型不是 Code First 所以我尝试使用 ViewData 显示数据有什么帮助吗?

4

1 回答 1

2

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

ViewData 永远不应该真正用于重/复杂的对象,原因有很多——性能之一,但也没有类型安全/强类型支持。

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

于 2013-11-27T09:30:18.150 回答