MyPetShop 是一个基于 ASP.NET 三层架构开发的宠物商店管理系统,基于《Web程序设计——ASP.NET上机实验指导(第三版)微课版》实现。该项目完整实现了电子商务系统的核心功能,包括用户管理、商品展示、购物车和订单处理等模块。
- 商品管理 - 商品分类展示、商品详情查看
- 用户系统 - 用户注册、登录验证、密码修改
- 购物车 - 商品添加、数量修改、购物车清空
- 订单处理 - 订单创建、库存管理、结算功能
- 母版页设计 - 统一的页面布局和导航结构
- 用户控件 - 可复用的商品分类列表组件
- 主题系统 - Bar 主题样式和自定义皮肤文件
- 响应式布局 - 适配不同设备的界面设计
- 导航控件 - 网站地图文件和面包屑导航
- 局部刷新 - 使用 Ajax 技术
- 三层架构 - 表示层、业务逻辑层、数据访问层分离
- 数据库事务 - 确保订单处理的数据一致性
- 会话管理 - 用户状态跟踪和购物车数据保持
| 技术栈 | 说明 |
|---|---|
| ASP.NET | Web应用程序框架 |
| C# | 主要编程语言 |
| T-SQL | 数据库查询语言 |
| CSS | 样式表语言 |
- 开发框架: ASP.NET Framework
- 数据库: SQL Server
- ORM: LINQ to SQL
- 前端技术: ASP.NET Web Forms, jQuery, CSS
- 架构模式: 三层架构(3-Tier Architecture)
MyPetShop/
├── MyPetShop.BLL/ # 业务逻辑层 (Business Logic Layer)
│ ├── CategoryService_whx30.cs
│ ├── CustomerService_whx30.cs
│ ├── ProductService_whx30.cs
│ ├── CartItemService_whx30.cs
│ └── OrderService_whx30.cs
├── MyPetShop.DAL/ # 数据访问层 (Data Access Layer)
│ └── MyPetShop.dbml # LINQ to SQL 数据模型
├── MyPetShop.Web/ # 表示层 - 基础版本
│ ├── Default_whx30.aspx # 首页
│ ├── Login_whx30.aspx # 用户登录
│ ├── NewUser_whx30.aspx # 用户注册
│ ├── ChangePwd_whx30.aspx # 密码修改
│ └── Cart_whx30.aspx # 购物车
├── MyPetShop.WebEx10/ # 表示层 - 母版页版本
│ ├── MasterPage_whx30.master # 母版页
│ ├── Category_whx30.ascx # 分类用户控件
│ ├── App_Themes/Bar/ # Bar 主题
│ └── 对应的内容页面
├── MyPetShop.WebEx11/ # 表示层 - 导航版本
│ ├── MasterPage_whx30.master # 母版页
│ ├── Web.sitemap # 网站地图
│ ├── PetTree_whx30.ascx # 导航控件
│ ├── ProShow_whx30.aspx # 商品展示页
│ └── 对应的内容页面
├── MyPetShop.WebEx12/ # 表示层 - Ajax版本
│ ├── MasterPage_whx30.master # 母版页
│ ├── Default_whx30.aspx # 首页
│ └── 对应的内容页面
├── MyPetShop.sql # 数据库初始化脚本
└── MyPetShop_whx30.sln # 解决方案文件
- MyPetShop.DAL - 数据访问层,使用 LINQ to SQL 进行数据库操作
- MyPetShop.BLL - 业务逻辑层,实现业务规则和数据处理逻辑
- MyPetShop.Web - 基础表示层,实现标准 Web Forms 用户界面
- MyPetShop.WebEx10 - 增强表示层,集成母版页、用户控件和主题系统
-
- MyPetShop.WebEx11 - 增强表示层,集成导航控件
-
- MyPetShop.WebEx12 - 增强表示层,使用 Ajax 技术
实验目的
- 理解ASP.NET三层架构
- 掌握ASP.NET三层架构的建立和使用方法
- 掌握基于ASP.NET三层架构的用户管理方法
- 掌握基于ASP.NET三层架构的购物车开发方法
已完成内容
- 搭建基于ASP.NET三层架构的MyPetShop应用程序
- 设计并实现MyPetShop应用程序的首页
- 设计并实现MyPetShop应用程序的一般用户注册功能
- 设计并实现MyPetShop应用程序的用户登录功能
- 设计并实现MyPetShop应用程序的一般用户密码修改功能
- 设计并实现MyPetShop应用程序的购物车功能
实验目的
- 掌握建立和使用用户控件的方法
- 掌握母版页和内容页的建立方法
- 掌握主题的建立和使用方法
已完成内容
- 在MyPetShop解决方案中添加MyPetshop.WebEx10表示层项目
- 设计并实现"商品分类列表"用户控件
- 创建MyPetShop用户控件的母版页
- 利用母版页重新设计MypetShop应用程序的首页
- 利用母版页重新设计MypetShop应用程序的用户登录页
- 设计并应用主题
实验目的
- 理解网站地图文件的结构并能合理地建立网站地图
- 掌握网站导航控件SiteMapPath、TreeView和Menu的用法
- 掌握母版页中网站导航控件的用法
已完成内容
- 在MyPetShop解决方案中添加MyPetShop.WebEx11表示层项目
- 构建MyPetShop应用程序的网站地图文件
- 修改母版页MasterPage.master实现面包屑导航功能
- 重建商品展示页ProShow.aspx
实验目的
- 掌握使用ASP.NET Ajax技术的方法
- 熟练掌握ScriptManager、UpdatePanel、Timer和UpdateProgress控件的用法
已完成内容
- 在MyPetShop解决方案中添加MyPetShop.WebEx12表示层项目
- 修改母版页MasterPage.master从而实现页面局部刷新的效果
- 设计并实现能自动显示下一个商品的首页
- 设计并实现利用UpdateProgress控件显示任务的完成情况
- Visual Studio 2019 或更高版本
- .NET Framework 4.7.2 或更高版本
- SQL Server 2016 或更高版本
- IIS Express(开发环境)
-
克隆仓库
git clone https://github.com/weihx15/MyPetShop.git cd MyPetShop -
数据库配置
-- 根据实际环境更改数据库文件和日志文件的存放路径 MyPetShop.sql
-
配置连接字符串
<!-- 在 Web.config 中配置 --> <connectionStrings> <add name="MyPetShopConnectionString" connectionString="Data Source=服务器名;Initial Catalog=MyPetShop;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>
-
启动项目
# 使用 Visual Studio 打开解决方案 MyPetShop_whx30.sln # 设置启动项目并运行 # 基础版本: MyPetShop.Web # 母版页版本: MyPetShop.WebEx10 # 网站导航版本: MyPetShop.WebEx11 # 局部刷新版本: MyPetShop.WebEx11
📚 基于《Web程序设计——ASP.NET上机实验指导(第三版)微课版》
👨💻 开发者:weihx15