奇怪的会话问题

时间:2010-12-28 16:58:36

标签: c# asp.net

我的会话课中有这个字段:

public bool IsCartRecentlyUpdated
{
    get
    {
        if (this.session["IsCartRecentlyUpdated"] != null)
        {
            return (bool)this.session["IsCartRecentlyUpdated"];
        }
        else
        {
            this.session["IsCartRecentlyUpdated"] = false;
            return (bool)this.session["IsCartRecentlyUpdated"];
        }
    }
    set
    {
        this.session["IsCartRecentlyUpdated"] = value;
    }
}

每当用户将产品添加到购物车时,我将此值设为true:

  public void AddToCart(Product product, int quantity)
    {
        IsCartRecentlyUpdated = true;
     //other code for updating the cart
     }

将产品添加到购物车会进行回发,因此我可以在General Master页面的Page_Load中购物车显示消息(ëg:产品成功添加)当产品刚刚添加到购物车时找到:

 protected void Page_Load(object sender, EventArgs e)
{
    if (this.sessionsUtil.IsCartRecentlyUpdated)
    {
        this.lblCartWarning.Text = (string)GetLocalResourceObject("CartWarning");
        imgCardLogos.Visible = false;
    }
    else
    {
        this.lblCartWarning.Text = String.Empty;
        imgCardLogos.Visible = true;
    }
//other code
//put it back to false to not show the message each time the page is loaded
this.sessionsUtil.IsCartRecentlyUpdated = false;
}

这段代码可以很棒本地,但在服务器上添加后 产品到购物车,但在第二页加载 ... (我想在服务器上以某种方式在会话var更新之前加载页面 - 非常奇怪)

你知道为什么吗?我在代码中没有看到任何问题...

1 个答案:

答案 0 :(得分:1)