Для начала: Использование Entity Framework v4.0. ASP.NET MVC 2.0. Visual Studio 2010.
У меня есть модель, состоящая просто из элементов заказа и заказа. То, что я хочу сделать, это просто связать эту модель без особых хлопот, где это возможно (избегая преобразователей типов и т. Д.).
Просто модель выглядит так:
public class Order {
public int ID { get; set; }
public string OrderNumber { get; set; }
public EntityCollection<OrderItem> Items { get; set; }
}
public class OrderItem {
public int ID { get; set; }
public string Qty { get; set; }
}
Это так просто, как я хочу сохранить. Эта модель исходит непосредственно из кода, сгенерированного генератором структуры сущностей. Я бы предпочел использовать модель непосредственно из структуры сущностей (я знаю, что есть мнения, говорящие, что это плохо, но, увы). У меня тогда вид выглядит так:
<% using (Html.BeginForm()) {%>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
<%: Html.LabelFor(model => model.ID) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.ID) %>
<%: Html.ValidationMessageFor(model => model.ID) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.OrderNumber) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.OrderNumber)%>
<%: Html.ValidationMessageFor(model => model.OrderNumber)%>
</div>
<div id="lineItems">
Where I need to put my line items to be edited, inserted
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
То, что я хочу сделать, - это ситуация, когда я могу использовать динамические позиции (используя javascript).
Проблемы следующие:
- Как выполнить вставку начальной позиции (в пределах элемента lineItems). Это должно быть строго типизировано и использовать встроенную среду валидации MVC.
- Лучший способ динамически вставлять позиции, чтобы на обратной передаче была полная привязка к модели без особых проблем (id = 1,2,3,4 и т. Д.).
Любая помощь, примеры, советы и т. Д. Будет приветствоваться.