好的我有一个问题,如果这是我的表格,并且是为数据库中的每个项目生成的,我想发送具有指定数量的项目。
从此剃须刀视图中发送数量
@using (Html.BeginForm("AddToCart", "Prices"))
{
string qtname = "qt" + @item.id;
<div>
<input id="@qtname" name="@qtname" class="quantity" type="text" value="0" readonly="readonly" />
</div>
<input type="submit" value="Adauga" class="addToCart" />`
}
我只需要这些吗?
[HttpPost]
public ActionResult AddToCart(ProductsModel Products, string qtname)
{ }
我是否需要一些html.hidden来传递item.id呢?
答案 0 :(得分:0)
在表单中,您只发送qtname
参数作为输入字段,而您的控制器操作还需要一个永不发送的ProductsModel
参数。如果要绑定它,则必须为此视图模型的所有属性创建输入字段。
但在您的情况下,更好的解决方案是将产品的id
简单地包含在隐藏字段中,然后根据此ID从您的数据存储区中获取相应的产品:
[HttpPost]
public ActionResult AddToCart(string id, string qtname)
{
ProductsModel products = _repository.GetProduct(id);
...
}