0

可能重复:
如何在单个 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 中检索值。

这是怎么做到的?

4

2 回答 2

0

用于EditorFor详细信息。

于 2012-06-19T01:07:43.940 回答
0

请查看以下链接并查看Darin Dimitrov的回答

如何在列表的强类型视图上使用 LabelFor

LabelFor 不能循环工作(for/foreach/template)

如果您仍有任何疑问,请告诉我。

于 2012-06-19T04:45:25.497 回答