BACK按下时如何防止推车擦拭?

时间:2012-04-12 00:09:24

标签: asp.net session

我有一个带有购物车类型场景的ASP.NET应用程序。

我担心用户按BACK或REFRESH清除购物车。有什么方法可以防止这种情况发生?

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //do stuff...

            //create a new list of items/ eg,  blank cart
            Session["shoppingcart"] = new List<InventoryItem>();
        }
    }

我希望他们第一次到达页面时有一个空车。 (在这种情况下,他们从不订购超过20个项目,所以我不担心会溢出Session变量)。

1 个答案:

答案 0 :(得分:5)

如果您不想清除购物车,请不要创建新的购物车(如果已经存在)。

尝试:

protected void Page_Load(object sender, EventArgs e)
{
    // ensure a shopping cart has been created
    if (Session["shoppingcart"] == null)
        Session["shoppingcart"] = new List<InventoryItem>();

    if (!Page.IsPostBack)
    {
        //do stuff...
    }
}