【问题标题】:About MVC ViewModel and partial view [duplicate]关于 MVC ViewModel 和局部视图 [重复]
【发布时间】:2012-06-19 00:57:18
【问题描述】:

可能重复:
How to edit multiple models in a single Razor View

我正在使用 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 中检索值。

这是怎么做到的?

【问题讨论】:

    标签: asp.net-mvc-3 viewmodel partial-views


    【解决方案1】:

    详情请使用EditorFor

    【讨论】:

      【解决方案2】:

      请查看以下链接并查看 Darin Dimitrov

      的答案

      How to use LabelFor on a strongly typed view for a list

      LabelFor not working in loop (for/foreach/template)

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

      【讨论】:

        猜你喜欢
        • 2013-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-18
        • 1970-01-01
        • 1970-01-01
        • 2013-08-21
        相关资源
        最近更新 更多