找回密码
 会员注册
查看: 126|回复: 0

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

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962988
发表于 2024-2-29 08:49:59 | 显示全部楼层 |阅读模式

要求:

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

    在这里插入图片描述

    关键代码:
    Default.aspx:
  1. <form id="form1" runat="server">
  2. <div>
  3. <asp:CheckBoxList ID="CheckBoxList1" runat="server">
  4. <asp:ListItem>三文鱼</asp:ListItem>
  5. <asp:ListItem>濑尿虾</asp:ListItem>
  6. <asp:ListItem>小龙虾</asp:ListItem>
  7. <asp:ListItem>小裙子</asp:ListItem>
  8. <asp:ListItem>T恤</asp:ListItem>
  9. <asp:ListItem>小零食</asp:ListItem>
  10. </asp:CheckBoxList>
  11. <asp:Button ID="submit" runat="server" Text="放入购物车" onClick="submit_Clicked"/>
  12. <asp:Button ID="visit" runat="server" Text="查看购物车" OnClick="visit_Clicked"/>
  13. <br />
  14. </div>
  15. </form>
复制代码

Default.aspx.cs

  1. protected void visit_Clicked(object sender, EventArgs e){
  2. Response.Redirect("Default2.aspx");
  3. }
  4. protected void submit_Clicked(object sender, EventArgs e){
  5. for (int i = 0; i < CheckBoxList1.Items.Count; i++){
  6. if(CheckBoxList1.Items[i].Selected == true){//将选中的项添加到session
  7. Session["goods"]+=CheckBoxList1.Items[i].Value+",";
  8. }
  9. }
  10. }
复制代码

Default2.aspx

  1. <form id="form1" runat="server">
  2. <div>
  3. <asp:CheckBoxList ID="CheckBoxList1" runat="server">
  4. </asp:CheckBoxList>
  5. <asp:Button ID="empty" runat="server" Text="清空购物车" onClick="empty_Clicked"/>
  6. <asp:Button ID="return" runat="server" Text="继续购物" OnClick="return_Clicked"/>
  7. </div>
  8. </form>
复制代码

Default2.aspx.cs

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. Session.Timeout=1;//session过期时间1分钟
  4. string[] sArray=Session["goods"].ToString().Split(',');//用逗号分隔开的字符串变成数组
  5. //去掉重复值
  6. ArrayList al = new ArrayList();
  7. for (int i=0;i<sArray.Length;i++){
  8. if (al.Contains(sArray[i]) ==false){//判断要拆分的字符串中是否已经存在于这个ArrayList中
  9. al.Add(sArray[i]);//不存在则添加进ArrayList
  10. }
  11. }
  12. //将ArrayList转换为string[]
  13. string[] al2=new string[al.Count];
  14. for(int i=0;i<al.Count;i++){
  15. al2[i]=al[i].ToString();
  16. }
  17. //将数组中的元素添加到CheckBoxList
  18. for(int i=0;i<al2.Length;i++){
  19. if(al2[i]!=""){
  20. CheckBoxList1.Items.Add(al2[i]);
  21. }
  22. }
  23. }
  24. protected void return_Clicked(object sender, EventArgs e){
  25. Response.Redirect("Default.aspx");
  26. }
  27. protected void empty_Clicked(object sender, EventArgs e){
  28. Session["goods"]="";//清空session
  29. //将CheckBoxList中的项去掉
  30. int iCount = CheckBoxList1.Items.Count;
  31. for(int i=0;i<iCount;i++){
  32. CheckBoxList1.Items.Remove(CheckBoxList1.Items[0]);
  33. }
  34. }
复制代码

来源:https://blog.csdn.net/airkong/article/details/106289228
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-25 14:03 , Processed in 0.414705 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表