【发布时间】:2014-12-29 06:48:52
【问题描述】:
HTML5 离线 ASP.NET MVC4 应用程序允许为客户输入订单数量。
订购的商品代码和数量不会传递给 Order 方法。 在下面的代码中 Order 方法 Result 参数值为空。 如何在 Order 方法中获取订购的商品代码和数量? 如何只发布订购数量大于 0 的商品? 产品列表很大,未订购的产品无法发布。 如果合理,我可以切换到 ajax、jquery 和 MVC4 Web API。
控制器:
public class OfflineOrderController : ControllerBase
{
public class OrderedItems
{
public string Id;
public decimal Quantity;
}
[HttpGet]
public ActionResult Order(string customerId)
{
return View(new MobileOrderOrderViewModel(customerId));
}
[HttpPost]
public ActionResult Order(string customerId, IEnumerable<OrderedItems> Result)
{
... save order to database
return new ContentResult() { Content = "Order received" };
}
}
查看:
<!DOCTYPE html>
<html manifest="~/MobileOrder/Manifest">
<body>
@using (Html.BeginForm())
{
<table>
<tbody>
@foreach (var product in Model.Products())
{
<tr>
<td>@product.Id</td>
<td>
<input type="hidden" name="Id" value="@product.Id" />
<input type="number" name="Quantity" min="0" max="10000000" />
</td>
</tr>
}
</tbody>
</table>
<input type="submit" value="Send order">
<input type="hidden" name="customerId" value="@Model.CustomerId" />
}
</body>
</html>
【问题讨论】:
标签: asp.net-mvc html asp.net-mvc-4 razor