|
要求:
- 使用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]);
- }
- }
复制代码 来源:https://blog.csdn.net/airkong/article/details/106289228 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?会员注册
×
|