So folgte ich diesem Tutorial https://www.asp.net/mvc/overview/older-versions/mvc-music-store/mvc-music-store-part-8 beim Erstellen des Einkaufswagens in meiner Website und verwalten, damit es funktioniert, aber ich möchte Benutzer in der Lage sein, mehr als eine Menge eines Artikels zu bestellen . Wenn der Benutzer mehr als eine Menge des gleichen Artikels bestellen möchte, muss er zur Artikelseite gehen und auf "in den Warenkorb" klicken, bis er die gewünschte Anzahl erreicht hat. Ich möchte ein Textfeld neben der Schaltfläche "In den Warenkorb hinzufügen" hinzufügen, die angibt, wie viele Mengen dem Einkaufswagen hinzugefügt werden.Bestellen Sie mehr als eine Menge eines Artikels im Einkaufswagen
Warenkorb Controller:
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");
}
Artikelansicht:
@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>
Wagen Modell:
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; }
}
Warenkorb Modell:
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();
}
Sie haben vergessen, eine Frage – Andrei