Итак, я следил за этим учебным пособием https://www.asp.net/mvc/overview/older-versions/mvc-music-store/mvc-music-store-part-8 в создании корзины покупок на моем веб-сайте и удался, чтобы он работал, но я хочу, чтобы пользователи могли заказывать более одного количества товара , В настоящее время, если пользователь хочет заказать более одного количества одного и того же предмета, он должен перейти на страницу товара и нажать «добавить в корзину», пока не получит желаемое количество. Я хочу добавить текстовое поле, кроме кнопки «Добавить в корзину», в которой указано, сколько количества будет добавлено в корзину.Закажите более одного экземпляра товара в корзине
Корзина Контроллер:
public ActionResult AddToCart(int id)
{
// Retrieve the album from the database
var addedAlbum = db.Items
.Single(album => album.Item_Id == id);
// Add it to the shopping cart
var cart = ShoppingCart.GetCart(this.HttpContext);
cart.AddToCart(addedAlbum);
// Go back to the main store page for more shopping
return RedirectToAction("Index");
}
товара Вид:
@model OnlineShop.Models.Items
@{
ViewBag.Title = "Item";
Layout = "~/Views/Shared/UserLayout.cshtml";
}
<br />
<br />
<br />
<br />
<br />
<h3>Item</h3>
<hr />
<div>
<h3>ID#@Html.DisplayFor(model => model.Item_Id) @Html.DisplayFor(model => model.Item_Name) By Account #@Html.DisplayFor(model => model.Account_Id)</h3>
<hr />
<dl class="dl-horizontal">
<h4>
<dt>
Image
</dt>
<dd>
<td><img src="~/Images/@Model.Item_ImagePath" width="100" height="100" /></td>
</dd>
<dt>
Id
</dt>
<dd>
@Html.DisplayFor(model => model.Item_Id)
</dd>
<dt>
Name
</dt>
<dd>
@Html.DisplayFor(model => model.Item_Name)
</dd>
<dt>
Details
</dt>
<dd>
@Html.DisplayFor(model => model.Item_Details)
</dd>
<dt>
Stock
</dt>
<dd>
@Html.DisplayFor(model => model.Item_Stock)
</dd>
<dt>
Category
</dt>
<dd>
@Html.DisplayFor(model => model.Item_Category)
</dd>
<dt>
Account Id
</dt>
<dd>
@Html.DisplayFor(model => model.Account_Id)
</dd>
<dt>
Cost
</dt>
<dd>
@Html.DisplayFor(model => model.Item_Cost)
</dd>
<dt>
Date Registered
</dt>
<dd>
@Html.DisplayFor(model => model.Item_Date)
</dd>
</h4>
</dl>
</div>
<p class="button">
@Html.ActionLink("Add to cart", "AddToCart",
"ShoppingCart", new { id = Model.Item_Id }, "")
</p>
Корзина Модель:
public class Cart
{
[Key]
public int Record_Id { get; set; }
public string Cart_Id { get; set; }
public int Item_Id { get; set; }
public int Count { get; set; }
public virtual Items Item { get; set; }
}
Корзина Модель:
public void AddToCart(Items item)
{
// Get the matching cart and album instances
var cartItem = db.Carts.SingleOrDefault(
c => c.Cart_Id == ShoppingCartId
&& c.Item_Id == item.Item_Id);
if (cartItem == null)
{
// Create a new cart item if no cart item exists
cartItem = new Cart
{
Item_Id= item.Item_Id,
Cart_Id = ShoppingCartId,
Count = 1
};
db.Carts.Add(cartItem);
}
else
{
// If the item does exist in the cart,
// then add one to the quantity
cartItem.Count++;
}
// Save changes
db.SaveChanges();
}
Вы забыли задать вопрос – Andrei