C#MVC将记录添加到带有表单和参数的表中
我在添加到数据库记录时遇到问题。 我试图做的是添加一个带有从表单发送的参数的记录。我从给出数量的表中抓取一个项目,然后他们将其添加到订单表中 我正在将其添加到OrderDetails表中,因此需要orderId。我从Url中获取。 下面是我的代码,它不工作。它可能会被简化,但我不确定在哪里修改它 表格第页:C#MVC将记录添加到带有表单和参数的表中,c#,model-view-controller,C#,Model View Controller,我在添加到数据库记录时遇到问题。 我试图做的是添加一个带有从表单发送的参数的记录。我从给出数量的表中抓取一个项目,然后他们将其添加到订单表中 我正在将其添加到OrderDetails表中,因此需要orderId。我从Url中获取。 下面是我的代码,它不工作。它可能会被简化,但我不确定在哪里修改它 表格第页: @{ var OrderId = Request.Url.Segments[3];} <td> <form method=&q
@{ var OrderId = Request.Url.Segments[3];}
<td>
<form method="GET" action="~/OrderManager/AddToOrder/@OrderId" _lpchecked="1">
<div class="row ">
<div class="input-group mb-3 col-xs-6 col-md-6">
<div class="input-group-prepend">
<span class="input-group-text" id="inputGroup-sizing-default">Qty</span>
</div>
<input style="max-width:75px;" aria-label="Qty" aria-describedby="inputGroup-sizing-default" type="number" class="form-control" id="quantity" min="1" name="quantity">
</div>
<div class="col-xs-6 col-md-6">
<button class="btn btn-primary btn-sm" type="submit" id="submit" onchange="usercheck">Add To Order</button>
</div>
</div>
</form>
</td>
谢谢你的帮助
修订代码更新:
我改变了一些事情。我似乎有我现在需要的,它说它提交了,但它没有保存到表中
修订表格:
@{ var OrderId = Request.Url.Segments[3];}
<td>
<form method="POST" action="~/OrdersManager/Add/" _lpchecked="1">
<div class="row ">
<div class="input-group mb-3 col-xs-6 col-md-6">
<div class="input-group-prepend">
<span class="input-group-text" id="inputGroup-sizing-default">Qty</span>
</div>
<input data-val="true" id="OrderId" name="OrderId" type="hidden" value="@OrderId" />
<input data-val="true" id="id" name="id" type="hidden" value="@item.BillingExtrasId" />
<input style="max-width:75px;" aria-label="Qty" aria-describedby="inputGroup-sizing-default" type="number" class="form-control" id="quantity" min="1" name="quantity">
</div>
<div class="col-xs-6 col-md-6">
<button class="btn btn-primary btn-sm" type="submit" id="submit" onchange="usercheck">Add To Order</button>
</div>
</div>
</form>
</td>
加
就在try
块内的第一个return
语句之前
(您发现了错误并在评论中提到。我只是确认一下并将其转化为答案。)请在问题中添加更多细节,例如您面临的确切问题是什么。当调用
AddToOrder
时,数量和id的值是多少?我想我知道最新的问题。我忘了将保存添加到控制器
@{ var OrderId = Request.Url.Segments[3];}
<td>
<form method="POST" action="~/OrdersManager/Add/" _lpchecked="1">
<div class="row ">
<div class="input-group mb-3 col-xs-6 col-md-6">
<div class="input-group-prepend">
<span class="input-group-text" id="inputGroup-sizing-default">Qty</span>
</div>
<input data-val="true" id="OrderId" name="OrderId" type="hidden" value="@OrderId" />
<input data-val="true" id="id" name="id" type="hidden" value="@item.BillingExtrasId" />
<input style="max-width:75px;" aria-label="Qty" aria-describedby="inputGroup-sizing-default" type="number" class="form-control" id="quantity" min="1" name="quantity">
</div>
<div class="col-xs-6 col-md-6">
<button class="btn btn-primary btn-sm" type="submit" id="submit" onchange="usercheck">Add To Order</button>
</div>
</div>
</form>
</td>
[HttpPost]
public ActionResult Add(int OrderId, Guid id, int quantity)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
try
{
GeneralEntities ExtrasDb = new GeneralEntities();
// Retrieve the album from the database
var addedExtra = ExtrasDb.Extras
.Single(ext => ext.BillingExtrasId == id);
var extra = new OrderDetail
{
OrderId = OrderId,
Extras = addedExtra.BillingExtrasId,
UnitPrice = addedExtra.Price,
Quantity = quantity,
CreatedDate = DateTime.Now
};
ExtrasDb.OrderDetails.Add(extra);
sb.Append("Sumitted");
return Content(sb.ToString());
}
catch (Exception ex)
{
sb.Append("Error :" + ex.Message);
}
return Content(sb.ToString());
}
ExtrasDb.SaveChanges();