asp.net中做购物车的问题(如何显示多次购买却还未结算的商品信息)
- 提问者网友:那叫心脏的地方装的都是你
- 2021-04-28 14:40
请知道的朋友回答一下,谢谢了!在线等~
- 五星知识达人网友:野味小生
- 2021-04-28 15:36
下面是我做的网上商城点击商品放入购物车按钮单击事件的代码(创建购物车)(仅供参考)
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
if (Session["car"] == null)
{
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Photo");
dt.Columns.Add("Name");
dt.Columns.Add("Quantity");
dt.Columns.Add("UnitPrice");
DataRow r = dt.NewRow();
r["Id"] = ((HiddenField)DataList1.Items[0].FindControl("HiddenField1")).Value;
r["Photo"] = ((Image)DataList1.Items[0].FindControl("Image1")).ImageUrl.ToString();
r["Name"] = ((Label)DataList1.Items[0].FindControl("Label1")).Text;
r["Quantity"] = 1;
r["UnitPrice"] = ((Label)DataList1.Items[0].FindControl("Label2")).Text;
dt.Rows.Add(r);
Session["car"] = dt;
Response.Redirect("Cart.aspx");
}
else
{
DataTable dt = (DataTable)Session["car"];
foreach (DataRow r in dt.Rows)
{
if (r["Id"].ToString() == ((HiddenField)DataList1.Items[0].FindControl("HiddenField1")).Value)
{
r["Quantity"] = Convert.ToInt32(r["Quantity"]) + 1;
Session["car"] = dt;
Response.Redirect("Cart.aspx");
}
}
DataRow dr = dt.NewRow();
dr["Id"] = ((HiddenField)DataList1.Items[0].FindControl("HiddenField1")).Value;
dr["Photo"] = ((Image)DataList1.Items[0].FindControl("Image1")).ImageUrl.ToString();
dr["Name"] = ((Label)DataList1.Items[0].FindControl("Label1")).Text;
dr["Quantity"] = 1;
dr["UnitPrice"] = ((Label)DataList1.Items[0].FindControl("Label2")).Text;
dt.Rows.Add(dr);
Session["car"] = dt;
Response.Redirect("Cart.aspx");
}
}
购物车界面直接用gridview和Session["car"] 绑定(TotalPrice()
是求总价的方法)
private void DataBinds()
{
GridView1.DataSource = (DataTable)Session["car"];
GridView1.DataBind();
TotalPrice();
}
private void TotalPrice()
{
double a = 0;
DataTable dt = (DataTable)Session["car"];
foreach (DataRow dr in dt.Rows)
{
a += Convert.ToDouble(dr["Quantity"]) * Convert.ToDouble(dr["UnitPrice"]);
}
monery.Text = a.ToString();
}
- 1楼网友:想偏头吻你
- 2021-04-28 17:19
你用Session记下来撒,
或者在数据库里面做一个临时表,这样子就行咯,
- 2楼网友:动情书生
- 2021-04-28 16:13
写一个购物车的类Cart,属性:商品,数量.(也可以对应在数据库中创建表!!!),每次选择商品购买后放到集合中去!!!如果是相同的商品则增加数量,否则就追加一项cart类在集合中!!然后扔到session中去!!