【问题标题】:c# mvc5 pass more than one list, object, ... from controller to view [duplicate]c#mvc5将多个列表,对象,...从控制器传递给视图[重复]
【发布时间】:2016-12-19 09:00:09
【问题描述】:

我可以使用此方法将一个数据库获取结果作为列表从控制器发送到查看:

var all_companies = db_cnx.Db.tbl_company.ToList();
var all_contractors = db_cnx.Db.tbl_contractor.toList();

return View(all_companies);

但是我怎样才能发送多个对象或列表,...来查看? 喜欢:

return view(all_companies, all_contractors)

这可能吗? 我读到一条评论说你必须声明一个 ViewItem 并在其中存储 var 的组合并返回新的数据集但是如何?

【问题讨论】:

  • 找一个叫做ViewModel的概念

标签: c# entity-framework asp.net-mvc-5


【解决方案1】:

View 你只能返回一个类。

您必须使用这些列表创建一个模型类并传递该模型。

public class MyModel {
   public List<Company> Companies {get;set;}
   public List<Contractor> Contractors {get;set; }
}

var all_companies = db_cnx.Db.tbl_company.ToList();
var all_contractors = db_cnx.Db.tbl_contractor.toList();
var model = new MyModel {
    Companies = all_companies,
    Contractos = all_contractors
}

return View(model);

在 View 中,您使用的是您的模型,而不是这样的列表:

@model MyModel

及用法:

@Model.Companies 
@Model.Contractors

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    相关资源
    最近更新 更多