none
購物車依供貨方式選擇數量 RRS feed

  • 問題

  • 各位前輩好,目前在C# MVC專案中

    在開發購物車加入數量時需要依照該商品屬性(供貨模式)限制客戶可不可以更改數量

    但不知道該  1.如何寫此function  2.讓使用者修改完數量後,將最後的數量傳送讓另一個.cshtml

    如下:

    商品屬性:1不可以改變購物車數量 2.可以更改購物車數量

    購物車調整數量功能:

    1.不可以改變購物車數量:不能調整數量

    2.可以更改購物車數量:   (1) 有庫存上限=>客戶選擇數量不能超過上限

       (2) 無庫存上限=>客戶可以無上限增加數量

    ----------------------------------------------

    目前程式碼如下:

    [C#加入購物車]

    //說明:加入購物車
            //Get:Index/AddCar
            public ActionResult AddCar(string fPId)
            {
                //說明:取得會員帳號並指定給fUserId
                string fUserId = (Session["Member"] as tMember).fUserId;
                //說明:找出會員放入購物車的產品
                var currentCar = db.tOrderDetail
                    .Where(m => m.fPId == fPId && m.fIsApproved == "否" && m.fUserId == fUserId)
                    .FirstOrDefault();
                //說明:會員選購的產品非購物車狀態
                if(currentCar == null)
               {
                    //說明:將選購的產品指定給product
                    var product = db.tProduct
                        .Where(m => m.fPId == fPId)
                        .FirstOrDefault();
                    //說明:將產品放入訂單明細
                   tOrderDetail orderDetail = new tOrderDetail();
                    orderDetail.fUserId = fUserId;
                    orderDetail.fPId = fPId;
                    orderDetail.fName = product.fName;
                    orderDetail.fPrice = product.fPrice;
                    orderDetail.fQty = 1;
                    orderDetail.fIsApproved = "否";
                   db.tOrderDetail.Add(orderDetail);
               }
                else
                {
                    currentCar.fQty += 1;
                }
                db.SaveChanges();
                return RedirectToAction("ShoppingCar");
            }

    --------------------------------------------------------

    [ShoppingCar.cshtml] 使用者調整數量

     <td class="cart-label" data-th="Quantity">
          <input type="number" class="form-control form-control-sm text-center js-part-quantity" value="@item.fQty">
     </td>

    --------------------------------------------------------

    [OrderDetail.cshtml] 呈現調整數量後的結果

    <td>
           @Html.DisplayFor(modelItem => item.fQty)
    </td>

    2020年6月11日 上午 09:01

所有回覆

  • ShoppingCar.cshtml這樣寫寫看:

    @if (item.flsApproved=="否")
    { 
      <td class="cart-label" data-th="Quantity">
           <input type="number" class="form-control form-control-sm text-center js-part-quantity" value="@item.fQty">
      </td>
    }


    2020年6月11日 上午 11:20