,*,第,12,章,ASP.NET,项目开发实例,第,12,章,ASP.NET,项目开发实例,12.1,系统概述,12.2,系统设计,12.3,系统实现,12.4,系统部署与发布,12.1,系统概述,电子商务发展现状及其意义。,系统概述,仅仅提供网上购物的基本功能,功能分管理员和普通顾客,该系统设计分为:,系统架构设计,系统功能模块划分,系统数据库设计,12.2,系统设计,12.2.1,系统架构设计,用户层,业务层,数据访问层,数据层,12.2.2,系统功能模块划分,12.2.3,系统数据库设计,数据库中应设计的数据表有:,商品类型表(,tb_GoodsType,):记录商品类型的相关信息,商品表(,tb_Goods,):记录商品的相关信息,顾客信息表(,tb_Customer,):记录顾客登录名、密码等相关信息,订单表(,tb_Order,):记录顾客购物时所下的订单,订单详细表(,tb_OrderDetail,):记录顾客所下订单的详细信息,即订单里包含的商品,管理人员信息表(,tb_Manage,):记录网上商城管理员的登录名和密码,12.2.3,系统数据库设计,数据表间关系图,12.3,系统实现,搭建系统的框架,数据库和类文件的实现,分模块介绍各个主要功能页面的实现方法。,12.3.1,系统框架的建立,系统名,存放数据库,存放商品的图片,存放系统所需的图片,存放系统中的页面文件,存放系统添加的类文件,12.3.2,存储过程的实现,顾客表,CustomerLogin,DeleteCustomer,InsertCustomer,UpdateCustomer,UpdateCustomerPassword,GetAllCustomer,GetCustomerByName,商品表,InsertGoods,UpdateGoods,DeleteGoods,GetGoodsByNameAndType,GetAllGoods,GetGoodsByID,GetPopGoods,UpdateGoodsSellCount,12.3.2,存储过程的实现,商品类型表,InsertGoodsType,UpdateGoodsType,DeleteGoodsType,GetAllGoodsType,GetGoodsTypeByID,订单表,InsertOrder,UpdateOrder,DeleteOrder,GetAllOrder,GetOrderByCustomer,GetOrderByID,UpdateOrderState,管理人员信息表,ManagerLogin,订单详细表,InsertOrderDetail,DeleteOrderDetail,GetGoodsListByOrderID,12.3.3,基本类文件的实现,Common,类:实现一些公用方法和常量的定义。,DataAccess,类:封装了所有对数据库进行操作的方法。,BusinessFacade,类:主要是对要写入数据的规则验证和读出数据的处理。,具体代码见教材。,12.3.4,母版页与系统登录,1.,母版页效果,12.3.4,母版页与系统登录,2.,系统登录,在数据库中创建存储过程,CustomerLogin,;,在,DataAccess,中实现对数据库的访问;,在母版页(,MasterPage.Master.cs,)中实现登录按钮的事件。,12.3.4,母版页与系统登录,3.,销售排行榜,在登录窗口的下方显示了销量最多的,5,种商品,称为销售排行榜。,建立存储过程,GetPopGoods,;,分别实现,DataAccess.cs,和,BusinessFacade.cs,中关于获取销售排行的方法;,通过在母版页中调用,BusinessFacade.cs,中的方法在页面上显示销售排行榜信息。,12.3.5,首页商品展示,提供检索功能,利用,DataList,模板将商,品的信息显示出来,并,通过,DataBinder.Eval,方,法将信息显示到指定位,置上去。,使用,PagedDataSource,分页,,UpdatePanel,控件,实现单击搜索和翻页时只,刷新商品信息而不是整个,页面的效果。,12.3.6,查看商品详细,该页面主要实现,Page_Load,事件,当页,面加载时根据,URL,中的,参数,goodsID,来获取指,定商品,将其信息展示,在页面上展示给顾客。,并调用,Common,类中的,GetImagePath,方法返,回获取指定图片的路径。,12.3.7,购物车,使用,Session,来实现购物车,,不要求用户在购物前登录系,统,只要结账前登录即可。,实现向购物车中添加商品,,从购物车中移除商品以及修,改商品数量等功能。,当首次进入购物车时,,SessionShoppingCart,不存在,需要创建一个表来,存放购物信息,然后将该表,保存在,SessionShoppingCart,中。,12.3.8,结账,结账页面,account.aspx,具有对目前选购商品价格汇总的功能,当顾客单击“确认结账”按钮后会将购物车中的商品信息存到数据库中,同时清空购物车。结账后,顾客再选购商品时就是一个新的订单。,是通过,GridView,列出顾客已选商品,同时在,GridView,的,footer,(底部)来显示总金额。,在,GridViw,中的事件,OnRowDataBound,在数据绑定时计算商品的总金额。,在,GridViewAccount_RowDataBound,事件中动态地计算购物商品的总金额,存入,Total,变量中。然后对,Footer,绑定数据并设置样式。,12.3.9,顾客注册和资料维护,通过判定,Session“customer,”,是否存在来决定是注册新顾客还是维护当前登录顾客的资料。,在顾客注册时,会首先验证输入的登录名是否被占用,在确认可用时才会将数据写入到数据库中。,12.3.11,系统维护,12.4,系统部署与发布,发布网上购物商城需要以下步骤。,(,1,)通过,VS2005,发布功能发布系统,(,2,)设置,IIS,(,3,)在,IE,中浏览网站,