多次更新PartialView,然后将更新发送到控制器MVC5

时间:2018-07-20 20:29:14

标签: jquery model-view-controller asp.net-mvc-5 partial-views

我有两个模型:OrderOrderItem。为了创建一个新的Order,我需要至少有一个OrderItem,所以我创建了一个ViewModel来结合这两个模型,因此我可以使用一个Create View创建一个Order和一个或多个OrderItems。因为每个订单都需要一个或多个OrderItem,所以我有一个局部视图,可以通过按钮将其加载到该视图上,以允许我多次捕获OrderItem的输入。

如何保存OrderItem输入数据,以便可以将其作为OrderItems数组发送回控制器。

这是我的ViewModel:

//--Order--
public int OrderId { get; set; }
public datetime Date { get; set; }
public int CustomerId { get; set; }
// --OrderItem--
public int OrderItemId { get; set; }
public string ItemName { get; set; }
public int Quantity { get; set; }
public decimal ItemPrice { get; set; }

这是我的CreateView:

@model POS.Models.Order_OrderItem

@Html.EditorFor(model => model.Date, ...)
@Html.DropDownListFor(model => model.ClientId ...)
//button for loading Partial View that has OrderItem Fields
<button onclick="getOderItemPartialView()" id="addItemBtn">Add Order</button>
 
<script>
function getOderItemPartialView() {
var url = "/CreateOrder_OrderItem_VM/AddItem";
$("#itemdetails").load(url);
};
</script>

最后,OrderItem输入的局部视图:

@model POS.Models.Order_OrderItem

@Html.EditorFor(model => model.ItemName, ...)
@Html.EditorFor(model => model.ItemPrice, ...)
@Html.EditorFor(model => model.ItemQuantity, ...)

0 个答案:

没有答案