asp.net-mvc - 如何使用 viewbag 和输入类型复选框制作可选项目,并访问控制器中的选中项目
问题描述
考虑我们有这三个表
Tbl产品
+----+----------+-------+
| Id | Title | Price |
+----+----------+-------+
| 1 | product1 | 1000 |
| 2 | product2 | 1000 |
| 3 | product3 | 1000 |
| 4 | product4 | 1000 |
+----+----------+-------+
订单
+----+----------+-----------+
| Id | UserName | OrderDate |
+----+----------+-----------+
| 1 | user1 | 6/22/2018 |
+----+----------+-----------+
TblOrderItems
+----+---------+-----------+
| Id | OrderId | ProductId |
+----+---------+-----------+
| 1 | 1 | 2 |
| 1 | 1 | 4 |
| 1 | 1 | 5 |
+----+---------+-----------+
我想使用复选框显示产品列表,以便用户可以选择产品
然后在 TblOrders 中插入订单信息,同时在 TblOrderItems 中插入选定的产品 ID。
在控制器中,我获取产品列表并将其放入 ViewBag
public ActionResult Create()
{
ViewBag.ProductList = db.TblProducts.ToList();
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,UserName,OrderDate")] TblOrder tblOrder,???????????????)
{
if (ModelState.IsValid)
{
db.TblOrders.Add(tblOrder);
foreach (var item in ???????????????)
{
db.TblOrderItems.Add(
new TblOrderItem()
{
OrderID=tblOrder.Id,
ProductID= item.Id
}
);
}
db.SaveChanges();
return RedirectToAction("Index");
}
return View(tblOrder);
}
在视图中我得到如下 ViewBag:
@model test.Models.TblOrder
@using test.Models
@{
ViewBag.Title = "Create";
List<TblProduct> productLists = ViewBag.ProductList;
}
但我不知道如何写下面的部分
@foreach (var item in productLists)
{
????????????????????????????????????????
@*<input name="" type="checkbox" />
<label>@item.Title</label>*@
}
如何将复选框与产品绑定以及如何访问控制器中的选择产品 ID?
请考虑我们必须使用 ViewBag而不是ViewModel 来执行此操作,并且输入类型为复选框而不是MVC 复选框列表助手。
谢谢
解决方案
推荐阅读
- azure - 图标在 Azure DevOps 管道的发布任务目录中不可见。vss-extension.json 如下,
- javascript - axios里面的for循环
- python - psycopg2.OperationalError:致命:不支持的前端协议 1234.5679:服务器支持 2.0 到 3.0
- javascript - 如何在按钮的单击句柄中使用 mergeMap 订阅内部可观察对象
- angular - 用于更新 ViewChild 的 Angular 8 升级示意图
- javascript - 当没有找到记录时,我需要向用户发送警报
- python - 单独的列表列表到元组
- amazon-web-services - 有没有办法找出公共 ip 属于哪个 aws 帐户?
- php - PHP PDOException 连接问题 - laravel
- angular - 如何保存我从后端获得的 Angular 重新排序列表的顺序