我正在建立一个网站,当客户点击添加到购物车按钮,然后特定产品及其详细信息应显示在添加到购物车页面,正如我在下面提到的代码使用此我只能显示一个产品,它是的信息。
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 + "");
因此,当我想添加另一个产品时,它已被新的产品取代。我想在listview中显示多个产品及其详细信息。如何才能这样做?请帮我 。 谢谢。
答案 0 :(得分:0)
在这种情况下你需要保持用户会话的状态。通过维持状态,我的意思是说你需要不断维护他/她正在添加到购物车或删除的产品他们或改变数量或类似的东西。
为此,您必须使用.NET Framework中提供的一些状态持久性组件。
就像你提到现有产品被新产品取代一样,为避免这种情况,你必须使用状态持久化对象,如会话或应用程序状态或Cookie或最终数据库等。< / em>根据您的要求类型选择它。
仅举一例您的情况,让我们说每次用户执行添加到购物车事件时,您都会创建一个List
对象并将产品ID存储在其中,并在用户添加新内容时不断添加新ID产品。然后将列表存储在Session
。
我建议你阅读这篇文章,这对于理解客户端和服务器端状态管理的状态管理概念非常好。