我的 cookie 似乎确实是自己创建的,它确实存储了值,但只存储了最后一个值,所以基本上它总是包含 1 个项目,当我尝试添加另一个项目时,它只是替换了第 1 个项目。我的代码如下,任何想法都值得赞赏。
if (Request.Cookies["CartData"] == null)
{
HttpCookie NewCookie = new HttpCookie("CartData");
Response.Cookies.Add(NewCookie);
}
/* Process Queries */
int Qty;
if (Request.QueryString["Action"] == "AddToCart")
{
string ProductID = Request.QueryString["ProductID"];
string ProductCategory = Request.QueryString["Category"];
/* Check if Quantity entered is a valid number, if not set to 1 */
if (!int.TryParse(Request.QueryString["Qty"], out Qty))
{
Qty = 1;
}
/* Check if the item already exists in Cart */
if (Request.Cookies["CartData"][ProductID + "_" + ProductCategory] != null)
{
int tempQty;
tempQty = int.Parse(Request.Cookies["CartData"][ProductID + "," + ProductCategory]);
tempQty += Qty;
Response.Cookies["CartData"][ProductID + "_" + ProductCategory] = tempQty.ToString();
}
else
{
Response.Cookies["CartData"][ProductID + "_" + ProductCategory] = Qty.ToString();
}
Response.Cookies["CartData"].Expires = DateTime.Now.AddDays(1);
}