Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.net MVC中在视图中显示多个表中的数据_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 如何在asp.net MVC中在视图中显示多个表中的数据

C# 如何在asp.net MVC中在视图中显示多个表中的数据,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有三个表,分别是“材质组”、“材质类”和“材质类型”。 组和类以及类和类型之间存在父子关系,但组和类型表之间没有直接关系 以下是控制器的当前代码: var ctbl_MaterialType=db.ctbl_MaterialType.Include(c=>c.ctbl_MaterialClass)。Include(c=>c.stbl_Supplier)。ToList() 返回视图(ctbl\U物料类型) 我不能包括组表,因为没有直接关系。即使我尝试了以下代码,但还是出现了错误: var ctb

我有三个表,分别是“材质组”、“材质类”和“材质类型”。 组和类以及类和类型之间存在父子关系,但组和类型表之间没有直接关系

以下是控制器的当前代码:

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

返回视图(ctbl\U物料类型)

我不能包括组表,因为没有直接关系。即使我尝试了以下代码,但还是出现了错误:

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);

如何包含组表,以便在视图中使用它进行显示???

创建视图模型。ViewModel是一个类,它封装了需要发送到视图的所有其他模型

示例:我将创建一个视图模型,其中包含学生列表和城市列表

查看模型类:

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

@model HomeIndexVM

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

我希望你能明白这一点。快乐编码。

创建视图模型。ViewModel是一个类,它封装了需要发送到视图的所有其他模型

示例:我将创建一个视图模型,其中包含学生列表和城市列表

查看模型类:

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

@model HomeIndexVM

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

我希望你能明白这一点。快乐的编码。

加入可能是你最好的选择。请参考:我的连接是正确的,但viewmodel是关键。我实现了它,它工作正常。加入可能是你最好的选择。请参考:我的连接是正确的,但viewmodel是关键。我实现了它,它工作正常。通过这种方式,我可以发送两个独立的列表来查看,但它们之间的关系如何?因为我需要显示特定类型和类的相应组值。目前我正在传递类型模型,该模型将类作为外键。但组和类型无关。当我尝试它时,它工作正常。谢谢你的帮助。愉快的编码。通过这种方式,我可以发送两个独立的列表来查看,但它们之间的关系如何?因为我需要显示特定类型和类的相应组值。目前我正在传递类型模型,该模型将类作为外键。但组和类型无关。当我尝试它时,它工作正常。谢谢你的帮助。快乐编码。