asp.net实现一个简易购物车功能。
2020-07-16 05:20
1021 查看
要求:
- 使用Session记录放入购物车的商品;
- 分别有两个页面:一是购物页面;二是购物车页面;
- 购物页面包含商品列表(CheckBoxList)和两个按钮;
- 购物车页面包含想购买的商品列表和两个按钮;
- 在购物车页面,当按下“放入购物车”按钮,用Session记录商品名称,商品名称之间使用“逗号”隔开;
- 在购物车页面,根据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){//将选中的项添加到session Session["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(); } //将数组中的元素添加到CheckBoxList for(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]); } }
相关文章推荐
- 要用asp.net和sql server做一个购物网站,如何实现购物车功能啊?
- 编写一个简易购物车,实现向购物车内添加商品,移除指定商品及清空购物车功能。
- ASP.NET MVC5+MySql使用ASP.NET 身份验证实现用户和角色功能 1 概述 目标:使用MySql数据库,建立一个使用ASP.NET 身份验证的应用,并实现角色功能,身份
- 一个实现查询功能的asp.net控件
- DJ--一个实现了jQuery功能的asp.net webcontrol
- 超详细asp.net实现一个完整的登录功能
- 自定义ASP.NET AJAX拖放功能示例程序:实现IDragSource和IDropTarget接口将商品拖放至购物车中
- 一个实现查询功能的asp.net控件
- ASP.NET 一个按钮实现浏览跟上传功能
- ASP.NET用GridView控件实现购物车功能
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- Asp.Net MVC3 简单入门第一季(五) 通过Asp.Net MVC的区域功能实现将多个MVC项目部署到一个站点
- asp.net通过cookie简单实现购物车功能
- 另外一个ASP.NET 实现邮件发送和接受的功能(Sockets)
- 另外一个ASP.NET 实现邮件发送和接受的功能(Sockets)
- jquery+asp.net实现的一个简易web聊天工具
- asp.net采用cookie+数据库方式实现购物车功能分析
- asp.net采用cookie+数据库方式实现购物车功能分析
- 通过Asp.Net MVC的区域功能实现将多个MVC项目部署到一个站点
- [转]自定义ASP.NET AJAX拖放功能示例程序:实现IDragSource和IDropTarget接口将商品拖放至购物车中