我正在使用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制作用于创建和编辑Order的页面? 我为OrderDetail制作了部分视图。在“创建”页面中,我执行了类似下面的操作,但我认为这不正确。
@foreach (var detail in Model.OrderDetails)
{
@Html.Partial("_OrderDetail", detail)
}
2,Order和OrderDetail处于一对多关系中,在创建Order页面中,我希望用户能够添加多个OrderDetail。我使用jQuery创建一个可以生成多个OrderDetail字段的按钮,但我不知道如何从每个OrderDetail中检索值。
这是怎么做到的?
答案 0 :(得分:0)
使用EditorFor
了解详情。
答案 1 :(得分:0)
请查看以下链接,查看 Darin Dimitrov 的答案
How to use LabelFor on a strongly typed view for a list
LabelFor not working in loop (for/foreach/template)
如果您仍有疑问,请与我们联系。