简体   繁体   English

如何在ASP.NET MVC中的视图中显示多个表中的数据

[英]How to display data from multiple tables in view in asp.net MVC

I have three tables called Material Group, Material Class, Material Type. 我有三个表,分别称为“材料组”,“材料类”,“材料类型”。 There is parent child relation between Group and Class as well as Class and Type but there is no direct relation in between Group and Type table. 组和类之间以及类和类型之间存在父子关系,但组和类型表之间没有直接关系。

Below is controller's current code: 下面是控制器的当前代码:

var ctbl_MaterialType = db.ctbl_MaterialType.Include(c => c.ctbl_MaterialClass).Include(c => c.stbl_Supplier).ToList(); var ctbl_MaterialType = db.ctbl_MaterialType.Include(c => c.ctbl_MaterialClass).Include(c => c.stbl_Supplier).ToList();

return View(ctbl_MaterialType); 返回View(ctbl_MaterialType);

I'm not able to include Group table as there is no direct relationship. 由于没有直接关系,因此无法包含“组”表。 Even I tried below code but gave me error: 即使我尝试下面的代码,但给了我错误:

var ctbl_MaterialType = ( from mt in db.ctbl_MaterialType join mc in db.ctbl_MaterialClass on mt.ID_ctbl_MaterialClass equals mc.ID_ctbl_MaterialClass
where mt.ID_ctbl_MaterialClass == mc.ID_ctbl_MaterialClass
join mg in db.ctbl_MaterialGroup on mc.ID_ctbl_MaterialGroup equals mg.ID_ctbl_MaterialGroup
where mc.ID_ctbl_MaterialGroup == mg.ID_ctbl_MaterialGroup
join ms in db.stbl_Supplier on mt.ID_stbl_Supplier equals ms.ID_stbl_Supplier
where mt.ID_stbl_Supplier == ms.ID_stbl_Supplier select new {
                                          MaterialGroup = mg.MaterialGroup,
                                          MaterialClass = mc.MaterialClass,
                                          MaterialType = mt.MaterialType,
                                          MaterialTypeAlias= mt.MaterialTypeAlias,
                                          Supplier = ms.Supplier
                                      });
return View(ctbl_MaterialType);

How can I include group table so that I can use it in view for display?? 如何包含组表,以便可以在视图中使用它进行显示?

Create a ViewModel. 创建一个ViewModel。 ViewModel is a class that wraps all your other models that you need to send to your view. ViewModel是一个类,它包装需要发送到视图的所有其他模型。

Example: I'll create a view model that holds the list of students and the list of cities. 示例:我将创建一个包含学生列表和城市列表的视图模型。

View model class: 查看模型类:

public class HomeIndexVM //(controllerName + actionName + VM)
{
    public List<Student> Students { get; set; }
    public List<City> Cities { get; set; }
}

In your action: 在您的行动中:

HomeIndexVM viewModel = new HomeIndexVM {
    Students = context.Students.ToList();
    Cities = context.Cities.ToList();
};

return View(viewModel);

In your view: 您认为:

@model HomeIndexVM

foreach(Student student in Model.Students) {
    //...
}

I hope you'll get the point. 希望您能理解。 Happy coding. 快乐的编码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 ASP.NET MVC如何创建从2个表中提取数据并在1个视图中显示的模型 - ASP.NET MVC how to create a model which pulls in data from 2 tables, to display in 1 view 将数据插入到Create View ASP.Net MVC中的多个表中 - Insert data to multiple tables in Create View ASP.Net MVC 显示来自不同数据库表的数据ASP.NET MVC - Display Data from Different Database Tables ASP.NET MVC 在同一页面上显示来自 ASP.NET MVC 5 中 2 个表的数据 - Display data from 2 tables in ASP.NET MVC 5 on the same page ASP.NET MVC C#:将来自多个表/查询的数据引入视图 - ASP.NET MVC C#: Bringing in data from multiple tables/queries into a view Asp.Net MVC 5汇总来自多个表的数据 - Asp.Net MVC 5 Summarize data from multiple tables ASP.NET在多个表中的一个GridView中显示数据 - ASP.NET Display data in one GridView from multiple tables ASP.Net MVC WebAPI - 如何在视图中显示 json 数据 - ASP.Net MVC WebAPI - How to display json data in View 如何在asp.net MVC(串口通讯)中显示从控制器查看的数据 - How to display the data to view from controller in asp.net MVC (Serial Communication) ASP.NET MVC-如何在Webapi控制器返回的Razor视图中显示数据 - ASP.NET MVC - How to display data in Razor view returned from Webapi controller
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM