Asp.net mvc 如何在mvc中显示多级表?

Asp.net mvc 如何在mvc中显示多级表?,asp.net-mvc,viewmodel,Asp.net Mvc,Viewmodel,我是mvc的新手。我有这个图表 我想向订单用户,状态订单和产品订单。我测试了很多方法,但都没有成功。 在视图模型中: public class OrderListViewModel { public List<Order> orders { get; set; } } 公共类OrderListViewModel { 公共列表顺序{get;set;} } 控制器: BOL.User CurrentUser = _user.user.GetUser(User.

我是mvc的新手。我有这个图表

我想向
订单用户
状态订单
产品订单
。我测试了很多方法,但都没有成功。 在视图模型中:

public class OrderListViewModel
{
  public  List<Order> orders { get; set; }

}
公共类OrderListViewModel { 公共列表顺序{get;set;} } 控制器:

        BOL.User CurrentUser = _user.user.GetUser(User.Identity.Name);
        int UserId = CurrentUser.ID;
        var listorders =  _order.UserOrders(UserId) ;
        List<OrderListViewModel> orderVM = new List<OrderListViewModel>();
            orderVM.Add (new OrderListViewModel { orders=listorders.ToList()
            }
            );
        return View(orderVM);
BOL.User CurrentUser=\u User.User.GetUser(User.Identity.Name);
int UserId=CurrentUser.ID;
var listorders=\u order.UserOrders(UserId);
List orderVM=new List();
添加(新的OrderListViewModel{orders=listorders.ToList())
}
);
返回视图(orderVM);
鉴于:

    @model  IEnumerable<OrderListViewModel>
@foreach (var item in Model)
{

  Html.Display(item.orders.Select(x=>x.Status.StatusName).FirstOrDefault());
    foreach (var fact in item.orders.ToList())
    {
        Html.Display(fact.Factors.);
    }
    <br />
    Html.Display("****");
}
@model IEnumerable
@foreach(模型中的var项目)
{
Display(item.orders.Select(x=>x.Status.StatusName).FirstOrDefault());
foreach(item.orders.ToList()中的var事实)
{
Html.Display(事实因素);
}

Html.Display(“****”); }

我不知道如何在每个订单中显示产品???

可能包括您遇到的一些错误消息和/或问题?我注意到的第一件事是关于
orderVM
-为什么要创建
List()
而不是简单地
var orderVM=new OrderListViewModel()
?@sleeyuen当我这样做时,获取填充对象的错误:var orderVM=new OrderListViewModel();orderVM.orders.Add(新订单{Factors=listorders.Select(x=>x.Factors.ToList());尝试将此添加到您的模型:
public OrderListViewModel(){order=new List();}
-这应该使您能够在创建orderVM后立即使用
。在控制器中也可以在设置状态时获取错误:orderVM.orders.Add(新订单{Factors=listfactors,status=listorders.Select(x=>x.status.status.StatusName).FirstOrDefault()});