Skip to content

Repository files navigation

MyPetShop

基于 ASP.NET 三层架构的宠物商店管理系统

项目简介

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 技术

实验内容

实验9 ASP.NET三层架构 ✅

实验目的

  • 理解ASP.NET三层架构
  • 掌握ASP.NET三层架构的建立和使用方法
  • 掌握基于ASP.NET三层架构的用户管理方法
  • 掌握基于ASP.NET三层架构的购物车开发方法

已完成内容

  • 搭建基于ASP.NET三层架构的MyPetShop应用程序
  • 设计并实现MyPetShop应用程序的首页
  • 设计并实现MyPetShop应用程序的一般用户注册功能
  • 设计并实现MyPetShop应用程序的用户登录功能
  • 设计并实现MyPetShop应用程序的一般用户密码修改功能
  • 设计并实现MyPetShop应用程序的购物车功能

实验10 主题、母版和用户控件 ✅

实验目的

  • 掌握建立和使用用户控件的方法
  • 掌握母版页和内容页的建立方法
  • 掌握主题的建立和使用方法

已完成内容

  • 在MyPetShop解决方案中添加MyPetshop.WebEx10表示层项目
  • 设计并实现"商品分类列表"用户控件
  • 创建MyPetShop用户控件的母版页
  • 利用母版页重新设计MypetShop应用程序的首页
  • 利用母版页重新设计MypetShop应用程序的用户登录页
  • 设计并应用主题

实验11 网站导航 ✅

实验目的

  • 理解网站地图文件的结构并能合理地建立网站地图
  • 掌握网站导航控件SiteMapPath、TreeView和Menu的用法
  • 掌握母版页中网站导航控件的用法

已完成内容

  • 在MyPetShop解决方案中添加MyPetShop.WebEx11表示层项目
  • 构建MyPetShop应用程序的网站地图文件
  • 修改母版页MasterPage.master实现面包屑导航功能
  • 重建商品展示页ProShow.aspx

实验12 ASP.NET Ajax ✅

实验目的

  • 掌握使用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(开发环境)

安装与运行

  1. 克隆仓库

    git clone https://github.com/weihx15/MyPetShop.git
    cd MyPetShop
  2. 数据库配置

    -- 根据实际环境更改数据库文件和日志文件的存放路径
    MyPetShop.sql
  3. 配置连接字符串

    <!-- 在 Web.config 中配置 -->
    <connectionStrings>
      <add name="MyPetShopConnectionString" 
           connectionString="Data Source=服务器名;Initial Catalog=MyPetShop;Integrated Security=True" 
           providerName="System.Data.SqlClient" />
    </connectionStrings>
  4. 启动项目

    # 使用 Visual Studio 打开解决方案
    MyPetShop_whx30.sln
    
    # 设置启动项目并运行
    # 基础版本: MyPetShop.Web
    # 母版页版本: MyPetShop.WebEx10
    # 网站导航版本: MyPetShop.WebEx11
    # 局部刷新版本: MyPetShop.WebEx11

📚 基于《Web程序设计——ASP.NET上机实验指导(第三版)微课版》

👨‍💻 开发者:weihx15

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages