我查看了我有产品详细信息表单
@model IEnumerable<Shop.Models.Product>
<form method="post" asp-controller="Product" asp-action="AddToCart">
<div class="col-md-4 col-sm-4">
<div class="card">
<img class="card-img-top" src="@item.Image" alt="Card image">
<div class="card-body">
<span class="card-title">@item.Name<b>: </b> </span>
<b class="card-text">$@item.Price</b>
<p class="card-text">@item.Description</p>
<input type="number" min="1" max="10" class="form-control" value="1" placeholder="Please enter quantity" />
<button asp-controller="Product" asp-action="AddToCart"
asp-route-ProductId="@item.ID"
asp-route-ProductName="@item.Name"
asp-route-ItemCount="1"
class="btn btn-primary btn-block">Add to Cart</button>
</div>
</div>
</div>
</form>
添加到购物车按钮按预期使用默认值。但现在我希望asp-route-ItemCount="1"
从文本框中获取价值但我无法弄清楚如何做到这一点。我正在学习dotnet这就是为什么我不想使用jquery ajax。
我的产品型号:
public class Product
{
public int ID { get; set; }
public string Name { get; set; }
public string Image { get; set; }
public decimal Price { get; set; }
public string Description { get; set; }
}
一点帮助将不胜感激。提前致谢。
答案 0 :(得分:0)
我在Microsoft文档中找到了您的问题的解决方案。在表实体Product中,您必须添加属性。
public int Count {get; set;}
然后您可以更改文本框:
<input asp-for="Product.Count" ..../>
最后更改按钮:
asp-route-ItemCount="@item.Count"
我认为这是一个解决方案,但为了更好地理解,您可以阅读本教程: Microsoft documentation