2010-05-24 86 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 
} 

回答