在这个问题中,我正在寻找链接/代码来处理IList<OrderLine>
MVC 2 编辑表单中的一个。具体来说,我有兴趣向客户发送完整的订单,然后使用:
Html.EditorFor(m => m.orderlines[i])(其中 orderlines 是一个可枚举对象)将编辑后的订单发布回一个对象(以保持)
编辑具有多个订单行(两个表,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
}