2016-11-24 1 views
-1

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(); 
    } 
+1

Sie haben vergessen, eine Frage – Andrei

Antwort

Verwandte Themen