1
Мой файл 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);
}
Спасибо Олаф, это действительно помогает, хотя мое приложение по-прежнему держит один элемент. Я заметил, однако, что, если я продолжаю добавлять один и тот же элемент, количество увеличивается! Его единственный, когда я добавляю другой элемент, перезагружается, может быть, потому, что файлы cookie переписываются каждый раз и не могут быть обновлены? PS: Я знаю, как это сделать в сеансе, я просто хотел практиковать свои навыки работы с печеньем, прежде чем идти и написать свою сертификацию ASP.NET. : D – RealityDysfunction
Нет, их нельзя переписывать. Я не понимаю, почему это происходит. Попробуйте следующее: используйте Cookies [ProductID + "_" + ProductCategory] вместо Cookies ["CartData"] [ProductID + "_" + ProductCategory]. Затем вы получаете многомерный массив, и легче проверить, есть ли другая ошибка. – Olaf