我的 sql 数据库中有一个产品表,其中一个名为 productQuantity 的字段。我正在使用 simpleCart,它可以节省大量的手动编码。其中一项功能是 simpleCart.increment,它增加了购物车中商品的数量。
但是,我现在遇到一个问题,即如果库存中有 5 件商品,增量会超过第 5 件商品。
如果客户想要购买所有五件商品并且例如错误地增加到 6 件商品,我如何限制客户增加数量。
我的 sql 数据库中有一个产品表,其中一个名为 productQuantity 的字段。我正在使用 simpleCart,它可以节省大量的手动编码。其中一项功能是 simpleCart.increment,它增加了购物车中商品的数量。
但是,我现在遇到一个问题,即如果库存中有 5 件商品,增量会超过第 5 件商品。
如果客户想要购买所有五件商品并且例如错误地增加到 6 件商品,我如何限制客户增加数量。
推荐先试用demo在线测试demo LINK
这是一个简单的示例演示,它的逻辑:
当用户添加购物车产品数量超过产品数量时。
它会显示Out of Product Quantity
给用户。
模型
public class SimpleCart {
public int UserID {get;set;}
public string productName {get;set;}
public int productQuantity {get;set;}
}
控制器
using System;
using System.Web.Mvc;
using System.Collections.Generic;
using System.Linq;
namespace HelloWorldMvcApp
{
public class ProductController : Controller
{
static List<dynamic> FakeProducts = new List<dynamic>(){
new {
productName = "xxxbaseball",productQuantity = 5
}
};
static List<SimpleCart> FakeSimpleCarts = new List<SimpleCart>(){
new SimpleCart{
UserID = 1,
productName = "xxxbaseball",
productQuantity = 5
}
};
[HttpGet]
public ActionResult Index()
{
var SimpleCarts = FakeSimpleCarts.Where(w=>w.UserID==1).SingleOrDefault();
return View(SimpleCarts);
}
public ActionResult AddProduct()
{
var simpleCart = FakeSimpleCarts.Where(w=>w.UserID==1).SingleOrDefault();
var fakeProduct = FakeProducts.Where(w=>w.productName == simpleCart.productName).SingleOrDefault();
if(simpleCart.productQuantity+1 > fakeProduct.productQuantity){
ViewBag.Error = "Out of ProductQuantity";
}else{
simpleCart.productQuantity = simpleCart.productQuantity + 1;
}
return View(simpleCart);
}
}
}
看法
@using HelloWorldMvcApp
@model SimpleCart
@{
Layout = null;
var simpleCart = Model;
}
@using (Html.BeginForm("AddProduct", "Product", FormMethod.Post))
{
<div>
productName: @(simpleCart.productName) <br>
productQuantity: @(simpleCart.productQuantity) <br>
<input type='submit' value='AddProduct'/><br>
<p><font size="3" color="red">@ViewBag.Error</font></p>
</div>
}