可能重复:
如何在单个 Razor 视图中编辑多个模型
我正在使用 MVC3 来制作订单功能。我有 Order 和 OrderDetail 模型。Order 和 OrderDetail 是一对多的关系。这两个模型看起来像这样:
public class order
{
public int OrderId{get;set;}
public int OrderStatusID { get; set; }
public virtual OrderStatus OrderStatus { get; set; }
public virtual ICollection<OrderDetail> OrderDetails { get; set; }
}
public class OrderDetail
{
public int OrderDetailID { get; set; }
public int OrderID { get; set; }
public int Quantity { get; set; }
public string Description { get; set; }
public int CategoryID { get; set; }
public virtual Order Order { get; set; }
public virtual Category Category { get; set; }
}
我想在一个视图中同时使用它们,所以我在下面为它制作了 OrderViewModel,
public class OrderViewModel
{
public virtual Order Order { get;set; }
public virtual List<OrderDetail> OrderDetails { get;set; }
}
我有两个问题:
1、如何使用OrderViewModel制作订单创建和编辑页面?我为 OrderDetail 制作了部分视图。在创建页面中,我做了类似以下的操作,但我认为它不正确。
@foreach (var detail in Model.OrderDetails)
{
@Html.Partial("_OrderDetail", detail)
}
2、Order和OrderDetail是一对多的关系,在创建Order页面时,我希望用户能够添加多个OrderDetail。我使用 jQuery 制作了一个可以创建多个 OrderDetail 字段的按钮,但我不知道如何从每个 OrderDetail 中检索值。
这是怎么做到的?