【发布时间】:2015-10-20 13:14:59
【问题描述】:
我在数据库中有 Orders 表和 OrderDetails 表。使用 Entity Framework 6,我获得了一个模型,因此我有从中生成的类。我还从 Orders 表中生成了控制器和视图。
Orders
folio (PK)
date
customer (FK)
OrdersDetail
folio (FK) -- to the Orders table
product (FK)
price
quantity
生成的 Create Post 动作如下:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "folio,date,customer")] Orders order)
{
if (ModelState.IsValid)
{
db.Orders.Add(order);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.cliente = new SelectList(db.CATCTES, "COD_CTE", "NOM_CTE", order.cliente);
return View(order);
}
没关系,但我也需要插入到其他实体/表中! 我已经更改了 Create.cshtml 表单,其中包含 Orders 表所需的字段,并包括某种用于 OrdersDetail 的网格。每一行都是 OrdersDetail 表的一个新条目。
问题是我不知道如何在 Orders 控制器的 Create 操作中正确保存到另一个表。如果这不是正确的方法,请告诉我你的 cmets。 p>
另一个问题是关于 POST,我应该如何命名输入以正确分组并在控制器中使用提交的值?当我单击表单上的“+”按钮时,此脚本会生成每一行:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script>
function add_row() {
var detalle = $('#detalle');
var newRow = '<tr>' +
'<td data-title="Product">' +
'<div class="input-group">' +
'<span class="input-group-addon"></span>' +
'<input class="form-control" type="number" aria-label="Product" name="detail_array[].product" step="0.001" min="0.000" onchange="cambiar_importe(this)" required="true">' +
'</div>' +
'</td>' +
'<td data-title="Price" >' +
'<div class="input-group">' +
'<span class="input-group-addon">$</span>' +
'<input type="number" class="form-control" aria-label="Price" name="detail_array[].price" onchange="cambiar_importe(this)" step="0.001" min="0.000" required="true">' +
'</div>' +
'</td>' +
'<td data-title="Quantity">' +
'<div class="input-group">' +
'<span class="input-group-addon">$</span>' +
'<input type="text" class="importe form-control" aria-label="Quantity" name="detail_array[].quantity" step="0.001" min="0.000" readonly="true" >' +
'</div>' +
'</td>' +
'<td data-title=""><button type="button" class="btn btn-danger btn-sm" onclick="borrar_renglon(this)">Cancelar</button></td>' +
'</tr>';
detalle.append(newRow);
}
</script>
}
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-5