如何在“;添加到购物车”;asp.net c#的页面

本文关键字:asp net 购物车 添加 | 更新日期: 2023-09-27 18:25:33

我正在制作一个网站,当客户点击"添加到购物车"按钮时,特定的产品及其详细信息应该显示在"添加到车"页面上,正如我在下面的代码中提到的那样,通过使用它,我只能显示一个产品及其详细内容。

        DataSet ds = new DataSet();
        con.Open();
        SqlCommand cmd = new SqlCommand("select * from tblProductDetails where ProductId=" + PId, con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        con.Close();
        productcartlistview.DataSource = ds;
        productcartlistview.DataBind();

通过使用隐藏字段,我得到了产品id。

    Button btn_AddCart = sender as Button;
    HiddenField myhiddenfield =btn_AddCart.NamingContainer.FindControl("hiddenID") as HiddenField;
    int myID = Convert.ToInt32(myhiddenfield.Value);
    Response.Redirect("CartPage.aspx?ProdId=" + myID + "");

所以当我想添加另一个产品时,它已经被新的产品取代了。我想在列表视图中显示多个产品及其详细信息。如何做到这一点?请帮帮我。非常感谢。

如何在“;添加到购物车”;asp.net c#的页面

在这种情况下,您需要维护用户会话的状态通过保持状态,我的意思是说你需要持续保持他/她正在添加到他的购物车中、删除或更改数量或诸如此类的东西。

为此,您必须使用.NET Framework中可用的一些状态持久化组件。

正如您所提到的,现有产品将被新产品取代,为了避免这种情况,您必须使用状态持久化对象,如会话或应用程序状态、Cookie或最终数据库等。这是您根据需求类型的选择。

举个例子,假设每次用户执行添加到购物车事件时,您都会创建一个List对象并将产品ID存储在其中,并且每当用户添加新产品时,都会不断添加新ID。然后将列表存储在Session中。

我建议您阅读这篇文章,这篇文章非常有助于理解客户端和服务器端状态管理的状态管理概念。

客户端和服务器端状态管理技术