我在做什么错了?
我想向现有客户添加订单,但是该客户的ID不适用于控制器。
public ActionResult AddOrder(Guid? customerId)
{
if (customerId == null)
{
throw new ArgumentNullException(nameof(customerId));
}
Customer customer = db.Customer.Find(customerId);
return View(customer);
}
<tbody>
<tr>
<th>ProductCode</th>
<th>ProductNaam</th>
<th>Aantal</th>
<th>Prijs</th>
<th>Totaal</th>
</tr>
@{
var totalBill = 0;
}
@foreach (var order in item.Order)
{
<tr>
<td>@order.ProductCode</td>
<td>@order.ProductNaam</td>
<td>@order.Aantal</td>
<td>@order.Prijs</td>
<td>@order.Totaal</td>
<td>@Html.ActionLink(" ", "AddOrder", new { id = order.CustomerId },
new { @class = "btn btn-success pull-right btn-sm glyphicon glyphicon-plus" })</td>
</tr>
totalBill = totalBill + @Convert.ToInt32(order.Totaal);
}
</tbody>
在实时HTML中:
<a class="btn btn-success pull-right btn-sm glyphicon glyphicon-plus"
href="/order/AddOrder/96f33a9f-e4e9-4ab1-8b8c-1db2cbc9ce37"> </a>
我看到了GUID,但是在控制器中它仍然是00000000000000000000
-GUID中的所有零而不是正确的GUID。
答案 0 :(得分:0)
您并没有将参数ID与操作中的参数ID结合使用,即您设置了id
,但操作期望customerId
。试试:
@Html.ActionLink(
" ",
"AddOrder",
new { customerId = order.CustomerId },
...
})
答案 1 :(得分:0)
AddOrder中的参数是customerId,但是您正在从HTML中将order.CustomerId分配给id。尝试将ID更改为customerId,它应该可以正常工作