В този въпрос търся връзки/код за обработка на 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
}