2010-05-24 48 views
3

在此问题中,我正在寻找链接/代码来处理MVC 2编辑表单中的IList<OrderLine>。具体而言,我有兴趣向客户发送完整的订单,然后使用以下方式将修改的订单发回给对象(要坚持):

Html.EditorFor(m => m.orderlines [i])(其中orderlines是一个枚举对象)ASP.NET MVC 2:编辑表单中订单/订单行后面的机制

编辑具有多个订单行(两个表,Order和OrderLine,一对多)的订单显然很困难。 有没有任何链接/示例/模式在那里建议如何创建这种编辑实体和相关实体的单一表单(在C#MVC 2中)?

IList真的让我陷入循环。我应该在那里(虽然仍然有一个表单来编辑一个订单)?你怎么能使用服务器端工厂在表单中创建一个空白的OrderLine,而不是将整个表单发回服务器?我希望我们不要用单独的保存按钮,删除等来处理单个订单行(例如,他们可能会打开订单,删除所有行,然后单击取消,这应该不会改变订单本身无论是存储库或数据库

实例类:

public class ViewModel { 
    public Order   order  {get;set;} // Only one order 
} 

public class Order { 
    public int    ID   {get;set;} // Order Identity 
    public string   name  {get;set;} 
    public IList<OrderLine> orderlines {get;set;} // Order has multiple lines 
} 

public class OrderLine { 
    public int    orderID  {get;set;} // references Order ID above 
    public int    orderLineID {get;set;} // Order Line identity (need?) 
    public Product   refProduct {get;set;} // Product value object 
    public int    quantity {get;set;} // How many we want 
    public double   price  {get;set;} // Current sale price 
} 

回答