【问题标题】:how to show data in view from Viewbag mvc4?如何从 Viewbag mvc4 中显示数据?
【发布时间】:2013-11-27 09:28:03
【问题描述】:

这是我的控制器

 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 显示数据有什么帮助吗?

【问题讨论】:

  • 创建一个视图模型并传递它而不是使用 viewbag 或 viewdata

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多