私のコンテンツページには、(page_loadに)コードがあります。
if (Master.pageAction == "remove")
{
int removeProductID = int.Parse(Request.QueryString["ID"]);
int removeOptionID = int.Parse(Request.QueryString["optID"]);
Master.myBasket.removeFromBasket(removeProductID, removeOptionID);
//Response.Redirect("viewBasket.aspx");
}
バスケットから削除する関数は、次のように定義されています。
// Removes item from a basket
public void removeFromBasket(int itemsID, int optionsID)
{
Page myPage = (Page)HttpContext.Current.Handler;
this.setCookieString("");
myPage.Response.Write("done");
}
そしてそれは呼びます:
// Sets cookie date
public void setCookieString(string cookiesData)
{
Page myPage = (Page)HttpContext.Current.Handler;
HttpCookie basketCookie = new HttpCookie("basket");
basketCookie["items"] = cookiesData;
basketCookie.Expires = DateTime.Now.AddDays(7d);
myPage.Response.Cookies.Add(basketCookie);
}
他のページでsetcookiestring関数を使用していますが、正常に機能しますが、この関数(バスケットからの削除)はCookieを設定していません。ページ上部に「完了」と書き込んでいるので、関数が実行されています。
警告もエラーもありません。Cookieを更新しているだけではありません。