Допустим, у меня есть вид, содержащий продукт, который любой пользователь может приобрести и заказать. Таким образом, в этом представлении есть кнопка: «Добавить в корзину», описание товара, сумма заказа товара. В этом представлении пользователь может выбрать сумму с помощью Html.TextBox, затем пользователь может заказать ее, нажав «Добавить в корзину». Поэтому я пытался закодировать его, но я не уверен, насколько правильный код (проблема в сценарии) ...
Обратите внимание, что у моей функции контроллера есть два аргумента: сам продукт (есть модель для продукта) и сумма (целое число).
Ну, у меня не было проблем с продуктом, но как только я начал использовать и количество, оно стало намного сложнее.
Вот мой код:
@*@model SurffingSite.Models.Products*@
@ Список моделей
@{
ViewBag.Title = "DisplayAllProducts";
}
Наши продукты
<div class="row">
@foreach (var product in Model)
{
<figure class="portfolio-item col-md-4 col-sm-6">
<img src="~/images/@product.Picture" class="img-responsive" />
<div class="product-details">
<h2 class="product-name">Products Name: @product.ProductName</h2>
<label>Category: @product.Category</label>
<div class="product-description">Description: @product.Description</div>
<div class="product-price">Price: @product.Price ₪</div>
<div class="form-group">
<label>Enter amount:</label>
<div class="col-md-10">
<input type="text" name="amounter" id="amounter" />
</div>
</div>
<div>
<a id="btn_add" href="" data-id ="@product" class="btn btn-info btn-lg" style="margin-left:60px">
<span class="glyphicon glyphicon-shopping-cart"></span> Add to cart
</a><br />
<a id="btn_more_info" href="@Url.Action("Index", "Home")" class="btn btn-info btn-lg" style="margin-left:60px">
<span class="glyphicon glyphicon-eye-open"></span> Read more
</a>
</div>
</div>
</figure>
}
</div>
</section>
<script>
$(".btn btn-info btn-lg").click(function(event)
{
event.preventDefault();
var url = '@Url.Action("AddToCart", "Cart", new {prod = "product", amount = "theamounter"})';
url = url.replace("theamounter", $("#amounter").val());
url = url.replace("product", $(this).data());
window.location.href = url;
});
</script>
Вот соответствующий метод контроллера:
https://pastebin.com/FX5jGAuZ
и вот моя модель для объекта продукта:
https://pastebin.com/FgJ0u51P