购物网站上的每个用户都有不同的购物车
我想使用会话类如何使用会话类。
public static List<Product> gridlist = new List<Product>();
[System.Web.Http.Route("api/Products/gridpro/{id}")]
public IHttpActionResult GetGrid(int id)
{
double bill = 0;
var q = db.products.Find(id);
if (q != null)
{
var check = gridlist.Where(x => x.Id == id).FirstOrDefault();
if (check != null)
{
check.ProductQty += 1;
check.TotalAmount = check.ProductQty * check.ProductRate;
}
else
{
q.ProductQty = 1;
q.TotalAmount = q.ProductQty * q.ProductRate;
gridlist.Add(q);
}
q.TotalBill = gridlist.Sum(x => x.TotalAmount);
q.TotalItem = gridlist.Count();
foreach (var item in gridlist)
{
item.TotalBill = q.TotalBill;
item.TotalItem = q.TotalItem;
}
bill = q.TotalBill;
return Ok(gridlist);
}
else
{
return NotFound();
}
}
发布于 2018-06-28 10:09:21
你有这样的代码:
static List<Product> gridlist
因为它是static
,每个应用程序只有一个列表。因此,所有用户都将看到相同的列表。
删除static
关键字,你可以使用会话来存储数据:
// To store something in session
Session["gridList"]= gridList;
// To get what you have stored to a session, use
var products = Session["gridList"] as List<Product>;
// To clear the list from session, use
Session["gridList"] = null;
https://stackoverflow.com/questions/-100004968
复制相似问题