ASP.NET MVC 2: механика за строкой заказа / заказа в форме редактирования
-
04-10-2019 - |
Вопрос
В этот вопрос я ищу ссылки / код для обработки IList<OrderLine>
В форме редактирования MVC 2. В частности, я заинтересован в отправке полного заказа клиенту, а затем публиковать отредактированный заказ обратно на объект (для сохранения), используя:
Html.editorfor (m => m.orderlines [i]) (где проказывает перечислимый объект)
Редактирование порядка, имеющего несколько строк заказа (две таблицы, заказ и заказ, один со многими), очевидно, сложно. Есть ли какие-либо ссылки / примеры / шаблоны, чтобы посоветовать, как создать эту форму, которая редактирует объект и связанные объекты в одной форме (в C # MVC 2)?
Илист действительно бросает меня за петлю. Должен ли я иметь это там (в то время как есть одна форма для редактирования одного заказа)? Как вы можете использовать завод Server Side Factory для создания пустых упорядочений в форме, пока не публикую всю форму обратно на сервер? Я надеюсь, что мы не относимся к индивидуальным линиям заказа с отдельными кнопками сохранения, удалять и т. Д. (Например, они могут открыть заказ, удалить все строки, затем нажмите «Отмена», что не должно изменять сам заказ в либо репозиторий, ни база данных.
Пример классов:
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
}
Решение
Вам нужно понять список <> / Array / IENumerable Модель Привязка:
http://haacked.com/Archive/2008/10/23/model-binding-to-a-list.aspx.
http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/
http://www.hanselman.com/blog/aspnetwireformatformodelbindingtyrayslistscollsionstictionary.aspx.