AI智能
改变未来

asp.net实现一个简易购物车功能。

要求:

  1. 使用Session记录放入购物车的商品;
  2. 分别有两个页面:一是购物页面;二是购物车页面;
  3. 购物页面包含商品列表(CheckBoxList)和两个按钮;
  4. 购物车页面包含想购买的商品列表和两个按钮;
  5. 在购物车页面,当按下“放入购物车”按钮,用Session记录商品名称,商品名称之间使用“逗号”隔开;
  6. 在购物车页面,根据Session取出商品,利用逗号分割出所有商品,放入购买列表中;
    结果:

    关键代码:
    Default.aspx:
<form id=\"form1\" runat=\"server\"><div><asp:CheckBoxList ID=\"CheckBoxList1\" runat=\"server\"><asp:ListItem>三文鱼</asp:ListItem><asp:ListItem>濑尿虾</asp:ListItem><asp:ListItem>小龙虾</asp:ListItem><asp:ListItem>小裙子</asp:ListItem><asp:ListItem>T恤</asp:ListItem><asp:ListItem>小零食</asp:ListItem></asp:CheckBoxList><asp:Button ID=\"submit\" runat=\"server\" Text=\"放入购物车\" onClick=\"submit_Clicked\"/><asp:Button ID=\"visit\" runat=\"server\" Text=\"查看购物车\" OnClick=\"visit_Clicked\"/><br /></div></form>

Default.aspx.cs

protected void visit_Clicked(object sender, EventArgs e){Response.Redirect(\"Default2.aspx\");}protected void submit_Clicked(object sender, EventArgs e){for (int i = 0; i < CheckBoxList1.Items.Count; i++){if(CheckBoxList1.Items[i].Selected == true){//将选中的项添加到sessionSession[\"goods\"]+=CheckBoxList1.Items[i].Value+\",\";}}}

Default2.aspx

<form id=\"form1\" runat=\"server\"><div><asp:CheckBoxList ID=\"CheckBoxList1\" runat=\"server\"></asp:CheckBoxList><asp:Button ID=\"empty\" runat=\"server\" Text=\"清空购物车\" onClick=\"empty_Clicked\"/><asp:Button ID=\"return\" runat=\"server\" Text=\"继续购物\" OnClick=\"return_Clicked\"/></div></form>

Default2.aspx.cs

protected void Page_Load(object sender, EventArgs e){Session.Timeout=1;//session过期时间1分钟string[] sArray=Session[\"goods\"].ToString().Split(\',\');//用逗号分隔开的字符串变成数组//去掉重复值ArrayList al = new ArrayList();for (int i=0;i<sArray.Length;i++){if (al.Contains(sArray[i]) ==false){//判断要拆分的字符串中是否已经存在于这个ArrayList中al.Add(sArray[i]);//不存在则添加进ArrayList}}//将ArrayList转换为string[]string[] al2=new string[al.Count];for(int i=0;i<al.Count;i++){al2[i]=al[i].ToString();}//将数组中的元素添加到CheckBoxListfor(int i=0;i<al2.Length;i++){if(al2[i]!=\"\"){CheckBoxList1.Items.Add(al2[i]);}}}protected void return_Clicked(object sender, EventArgs e){Response.Redirect(\"Default.aspx\");}protected void empty_Clicked(object sender, EventArgs e){Session[\"goods\"]=\"\";//清空session//将CheckBoxList中的项去掉int iCount = CheckBoxList1.Items.Count;for(int i=0;i<iCount;i++){CheckBoxList1.Items.Remove(CheckBoxList1.Items[0]);}}
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » asp.net实现一个简易购物车功能。