当前位置: 首页 > news >正文

一个简单ASP.NET购物车设计

思路:

  1. 创建一个多选列表

  2. 在cs文件里初始化购物车会话变量,同,创建一个新的 List<string> 并将其赋值给会话状态中的 "Cart" 键–(利用Session)

    Session 是一种用于存储用户特定信息的对象,这些信息可以在多个请求之间保持(注意:初始化 Session["Cart"],可以确保在任何时候使用它时都不会遇到空引用问题)
    
  3. 检查并处理会话状态中购物车为空的情况

  4. 添加商品按键(注:当再次点击时,重复的商品将不再添加)

  5. 清空购物车

  6. 若想拓展(可以使用 CheckBoxListRepeater 控件来显示带有图片的商品列表)

Goods1.aspx代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Goods1.aspx.cs" Inherits="Goods1" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title>
</head>
<body><form id="form1" runat="server"><div><asp:CheckBoxList ID="cblGood" runat="server"><asp:ListItem>苹果</asp:ListItem><asp:ListItem></asp:ListItem><asp:ListItem>香蕉</asp:ListItem><asp:ListItem>猕猴桃</asp:ListItem><asp:ListItem>黄瓜</asp:ListItem><asp:ListItem>白菜</asp:ListItem></asp:CheckBoxList><asp:Button ID="btnAdd" runat="server" Text="加入购物车" OnClick="btnAdd_Click"/><asp:Button ID="btnView" runat="server" Text="查看购物车" OnClick="btnView_Click" /><asp:Button ID="btnClear" runat="server" Text="清空购物车"  OnClick="btnClear_Click"/><br/><asp:Label ID="lblShow01" runat="server" ></asp:Label></div></form>
</body>
</html>

Goods1.aspx.cs代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class Goods1 : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){// 初始化购物车会话变量if (Session["Cart"] == null){Session["Cart"] = new List<string>();}}}protected void btnAdd_Click(object sender, EventArgs e){List<string> cart = (List<string>)Session["Cart"];foreach (ListItem item in cblGood.Items){if (item.Selected && !cart.Contains(item.Value)){cart.Add(item.Value);}}Session["Cart"] = cart;lblShow01.Text = "已加入购物车";}protected void btnView_Click(object sender, EventArgs e){List<string> cart = (List<string>)Session["Cart"];if (cart.Count > 0){lblShow01.Text = "购物车中的商品:" + string.Join(", ", cart);}else{lblShow01.Text = "购物车为空";}}protected void btnClear_Click(object sender, EventArgs e){Session["Cart"] = new List<string>();}
}
http://www.lryc.cn/news/480372.html

相关文章:

  • 双向循环列表
  • go项目出现了ambiguous import要怎么解决?
  • 更改Ubuntu22.04锁屏壁纸
  • ROS2humble版本使用colcon构建包
  • CSRF 跨站请求伪造的实现原理和预防措施
  • 【LeetCode】【算法】22. 括号生成
  • WPF+MVVM案例实战与特效(二十五)- 3D粒子波浪效果实现
  • wsl2安装和使用
  • 【划分型 DP-最优划分】【腾讯笔试压轴】【hard】力扣132. 分割回文串 II
  • Kubernetes-镜像加速篇-01-加速工具
  • 字母的异位数
  • 达梦数据库DM Exception字符串截断错误,略坑~
  • vue实现图片无限滚动播放
  • python爬虫指南——初学者避坑篇
  • Vivado+Vscode联合打造verilog环境
  • Python 微服务架构
  • Android JNI 技术入门指南
  • 实在智能受邀出席柳州市智能终端及机器人产业发展合作大会
  • 算法求解(C#)-- 寻找包含目标字符串的最短子串算法
  • AscendC从入门到精通系列(二)基于Kernel直调开发AscendC算子
  • DAO模式的理解
  • 使用GitHub Actions实现CI/CD流程
  • 机器人助力Bridge Champ游戏:1.4.2版本如何提升玩家体验
  • 滑动窗口(单调队列维护窗口)-acwing
  • ALB搭建
  • c# 动态lambda实现二级过滤(支持多种参数类型和模糊查询)
  • 第J5周:DenseNet+SE-Net实战
  • Intern大模型训练营(五):书生大模型全链路开源体系笔记
  • 聚观早报 | 比亚迪腾势D9登陆泰国;苹果 iOS 18.2 将发布
  • 微信小程序开发,诗词鉴赏app,诗词搜索实现(三)