Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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 Mvc_Razor_View - Fatal编程技术网

C# 在ASP.NET MVC的视图中使用两个模型的问题

C# 在ASP.NET MVC的视图中使用两个模型的问题,c#,asp.net-mvc,razor,view,C#,Asp.net Mvc,Razor,View,在我看来,我试图使用两个模型,但我得到一个错误,即只能使用一个模型。我明白了为什么只有一个模型可以使用,但是在我看来,有没有什么变通方法可以让我使用两个模型。我在下面列出了代码 控制器: /* Parts Method */ public ActionResult Parts() { return View(db.Part.ToList()); } 视图: @模型库存\系统.Models.Transaction @模型IQueryable 第一个模型用于连接到视图模型,第二个模型用于从

在我看来,我试图使用两个模型,但我得到一个错误,即只能使用一个模型。我明白了为什么只有一个模型可以使用,但是在我看来,有没有什么变通方法可以让我使用两个模型。我在下面列出了代码

控制器:

/* Parts Method */
public ActionResult Parts()
{
    return View(db.Part.ToList());
}
视图:

@模型库存\系统.Models.Transaction @模型IQueryable


第一个模型用于连接到视图模型,第二个模型用于从要显示的控制器连接到数据库列表。如何在同一视图中使用这两个模型?

您应该创建一个包含两个模型的视图模型

public class ViewModel()
{
    public Inventory_System.Models.Transaction Transaction {get;set;}
    public IQueryable<Inventory_System.Models.Part> Part {get;set;}

}
public类ViewModel()
{
公共库存_System.Models.Transaction{get;set;}
公共IQueryable部分{get;set;}
}

您应该创建一个包含两个模型的ViewModel

public class ViewModel()
{
    public Inventory_System.Models.Transaction Transaction {get;set;}
    public IQueryable<Inventory_System.Models.Part> Part {get;set;}

}
public类ViewModel()
{
公共库存_System.Models.Transaction{get;set;}
公共IQueryable部分{get;set;}
}

您应该创建一个具有两个属性的复合模型

查看模型

public class CompositeModel
{
  public Transaction  Transaction {get;set}
  public List<Part> ListOfParts {get;set}   
}
查看

@model /*Name Space*/.CompositeModel;

我认为这是一个很好的解决方案。

您应该创建一个具有两个属性的复合模型

查看模型

public class CompositeModel
{
  public Transaction  Transaction {get;set}
  public List<Part> ListOfParts {get;set}   
}
查看

@model /*Name Space*/.CompositeModel;

我认为这是一个很好的解决方案。

您需要创建一个包含这两个属性的ViewModel。您只能在一个视图中使用一个模型。您需要使用@maccettura已经提到的a
ViewModel
。下面是一个示例,您需要创建一个ViewModel,其中包含这两个属性。您只能在一个视图中使用一个模型。您需要使用@maccettura已经提到的a
ViewModel
。这里有一个例子