1、毕业设计(论文),姓名:李迪迪班级:计算机网络学号:1101020105指导老师:周士印,2014/5/15,1,摘要当前,在全球范围内,电子商务网站正在以前所未有的速度迅猛发展,不仅改变着传统的社会生产方式,而且对经济结构的调整产生了极为深刻的影响,成为经济新的增长点。电子商务网不仅是经济全球化的重要表现形式之一,而且已经成为传统产业变革和企业技术跨越的关键推动力。电子商务形式的网上商店具有高效、快捷,信息畅通的特点,还可以很大程度上降低销售成本。因此设计制作电子商务网站是现在网络设计中必不可少的部分。本文着重论述了电子商务网站的实现与设计过程。在系统的设计与开发过程中严格遵守软件工程的规范
2、,详细得从经济技术以及操作方面进行了可行性分析,并且运用软件设计模式,从而减少系统模块间的偶合,力求做到系统的稳定性、可重用性和可扩充性。针对要设计的电子商城网站的购物车模块,基于ASP.NET框架,后台运用SQL SERVER 2005数据库。关键词 电子商务网站 ASP.NET SQL SERVER 2005数据库 电子商城,2014/5/15,2,目 录第1章 绪论11.1课题研究的背景11.2 电子商务网站的发展现状及设计意义11.3 研究内容和结构安排2第2章 系统开发工具概述42.1 系统设计可行性分析42.1.1 ASP.NET的新特性 42.1.2 ASP.NET开发和运行平台
3、 52.2 SQL SERVER 2005数据库概述52.3 Dream weaver 6第3章 系统具体设计过程73.1 总体结构设计73.2 模块功能设计73.2.1 销售模块73.2.2 系统管理模块93.3 数据库设计93.3.1 概念结构设计103.3.2 逻辑结构设计113.3.3 数据表详细设计12,2014/5/15,3,第4章 电子商务网站具体页面设计实现154.1 系统公共类的实现154.1.1 数据库操作类的实现154.1.2 购物车类的实现164.2 网站主页的实现184.3 销售模块的实现204.3.1 销售模块基本框架的实现204.3.2 销售模块特价商品功能的实现
4、214.3.3 销售模块购物车功能的实现224.4 系统管理模块的实现234.4.1 系统登录功能的实现244.4.2 商品管理功能的实现244.4.3 会员管理功能的实现254.5 实现效果评价26结论28致谢29,2014/5/15,4,第1章 绪论1.1课题研究的背景 当前,在全球范围内,电子商城网站正在以前所未有的速度迅猛发展,不仅改变着传统的社会生产方式,而且对经济结构的调整产生了极为深刻的影响,成为经济新的增长点。电子商城网不仅是经济全球化的重要表现形式之一,而且已经成为传统产业变革和企业技术跨越的关键推动力。 电子商务被看作是一种现代化的商业和行政作业方法,这种方法改善产品和服务
5、质量、提高服务传递速度,实现跨领域商业活动,满足政府组织、厂商和消费者降低成本的需求,通过计算机网络加快信息交流以支持决策。电子商务的内涵和外延也在不断充实和扩展。近年来,世界范围内Internet/Intranet网络环境的基本形成,使得基于Internet环境的系统的设计与开发成为重要方向,特别是B/S结构的应用越来越广泛。1.2 电子商务网站的发展现状及设计意义 随着中国市场经济的日趋成熟和计算机技术和网络技术的发展,人们对信息的获知程度和广度都提出了更高的要求。网上购物这种新的商业运营模式就被越来越多的商家运用到竞争中去,并得到了大多数客户的认可,这种基于浏览器、服务器实现的购物方式已
6、经初具规模,一些在线购物网站的成立,改变了人们已往传统的购物观念。,2014/5/15,5,图1.1是根据CNNIC(中国互联网络信息中心)公布的中国B2C电子商务发展报告来进一步分析目前的网上购物的现状(主要引用其中的关于进行网络购物原因的分析图表)。,从图1.1可以看出网上购物选择节约时间和操作方便的分别占46.7%和44.2%,这说明随着生活节奏的加快,人们越来越希望拥有简单快捷的购物方式。因此,一个允许买家在家里就可以浏览商家发布的所有商品信息的在线购物系统将大大减轻商家的工作量、降低投资成本。本系统是结合当前传统购物方式消耗大量人力物力的弊端、以当前市场上已经存在的B2C、C2C等在
7、线购物网站为模型,开发出适合于大部分中小型企业以及个体用户的网上购物系统。,2014/5/15,6,1.3 研究内容和结构安排 本系统是在大学期间学习数据库相关知识的基础上,熟悉Visual Studio 2005开发环境并能熟练使用C#编程语言的同时,运用软件工程理论知识,开发出的一套基于ASP.NET的在线购物系统。在系统开发的过程中能够应用所学的知识,并促进作者更深入的学习C#的相关特性、积累更多SQL Server 2005的相关应用知识,这样不仅能将所学的书面知识和实际应用结合起来达到学以致用的目的,同时也为以后的工作和学习积累经验。本网站主要实现如下内容:(1)客户的注册与登录;(
8、2)商品信息的管理(商品的添加,删除和修改)与浏览;(3)订单的管理(下订单,订单修改,订单删除,订单确认及查看以往订单)(4) 会员信息的管理(会员信息的添加,修改和删除)本文的结构安排如下:,2014/5/15,7,第1章 引言主要阐述了课题的研究背景及意义,目前的研究的基本概况,并介绍了本文的研究内容及结构安排。第2章 系统方案分析和设计介绍了电子商务网站的基本方案设计和具体情况分析。第3章 开发工具介绍本章首先介绍了ASP.NET技术,接着对SQL SERVER 2005数据库进行了相关介绍,之后对系统的运行环境TOMCAT和JDK做了简单的介绍。第4章 系统的总体设计在对系统进行架构
9、设计后,本章首先对系统流程进行了详细设计,最后对数据库进行了概念设计和逻辑设计。第5章 系统的具体实现最后总结与展望总结了本文的主要工作,并对进一步的研究工作进行了展望。,2014/5/15,8,第2章 系统开发工具概述 本网站是基于ASP.NET的设计方案,使用 SQL Server 2005作为数据库。使用JDBC与数据库进行交互,表示层由ASP.NET实现来开发的电子商务网站。其开发工具为Visual Studio 2005,Dreamweaver MX 2004和Fireworks MX 2004,运行和调试环境为IIS6.0。下面就相关技术,工具,运行环境做简单介绍。2.1 ASP.
10、NET技术简介2.1.1 ASP.NET的新特性ASP.NET是微软.NET技术中最引人注目的网站开发工具,它的推出和使用将对开发优质网站提供广泛的技术支持。它是一个建立服务器端Web应用程序的框架。ASP.NET是ASP的后继版本,它向前兼容ASP,但它又不仅仅是ASP的简单升级。 ASP.NET和ASP相比具有许多优势。 (1)语言独立性,它支持功能强大的Visual Basic.NET、C#, JavaScript仍可用,凡是可以编译成MISL(Microsoft Intermediate Language,是介于程序语言和机器码之间的一种语言,具有和程序语言无关的特性)的程序语言ASP
11、.NET都支,2014/5/15,9,持,ASP.NET为Web应用程序提供了一个真正的中间语言的执行框架。ASP缺省只支持JScript和VBScript,若要使用其他脚本语言,必须安装相应的脚本引擎。(2)代码更易于编写、结构更清晰,程序代码与用户界面接口彻底分开,使程序的可读性更强。在ASP中,几乎必须为每件事情写代码,而且将代码、HTML、文本、对象说明等混在一起,很难重复使用这些代码。而在ASP.NET中引入了一种真正的组件模式,只需写很少的代码,并且在很多情况下,可以完全不写任何代码。(3)执行效率更高。ASP.NET是由支持它的服务器上的.NET Framework负责编译执行,
12、当服务器接收到一个ASP.NET页面时,如果这是对该页面创建或修改后的第一次请求,.NET Framework就会把该页面中的程序语言内容先编译成MSIL,ASP.NET的执行代码以独立线程的方式一直存在于服务器内存中。以后对ASP.NET页面提出请求时,不需要重新编译,直到该页面被修改或Web应用程序重启动(见图1.3)。而ASP是解释性脚本语言,每次都需要重新编译。,2014/5/15,10,图1.3 ASP.NET网页运行模式整体比较如下:ASP.NET网页第二次被浏览速度ASP网页浏览速度ASP.NET网页第一次被浏览速度。ASP.NET还有网页服务结构不同、数据处理模式的不同、简化组
13、件部署和组态的操作、 更强的安全机制、调试较为便利等诸多优点。通过上面的比较分析可以看出,ASP.NET的性能在许多方面要远远超越了ASP,利用ASP.NET技术实现一个交互式的动态Web页是比较简单。而且随着.NET技术的日益成熟,相信ASP.NET的应用会越来越普及。,2014/5/15,11,2.1.2 ASP.NET开发和运行平台 如果只运行ASP.NET应用程序,可以安装.NET Framework Redist软件包。如果要开发、部署和运行ASP.NET应用程序,需要安装.NET ASP.NET Premium Edition、.NET Framework SDK或者Visual
14、Studio.NET中的任何一个。 .NET Framework SDK Beta 2支持以下操作系统:Window XP、Windows 2000、Windows NT4(带Service Pack 6a),并要求Internet Explorer版本在5.01或5.01以上。要求系统安装Microsoft Data Access Component 2.6,推荐安装2.7版本ASP.NET还需要IIS 5.0或IIS 4.0(带 NT4 Service Pack 6a)。IIS已集成在NT/Windows 2000操作系统中,一般不必另外安装。2.2 SQL SERVER 2005数据库概
15、述 SQL Server 2005是Microsoft公司推出的大型数据库管理系统,它建立在成熟而强大的关系型基础上,可以很好的支持客户机/服务器网络模式,能够满足各种类型的企事业单位对构建网络数据库的需求。它具有易用性、可扩展性、可靠性等特点,是目前使用最为广泛、普及率最高的数据库管理系统之一。,2014/5/15,12,在高性能和企业级可伸缩性领域,SQL Server 2005 设计成利用 Windows 2005 对更多处理器、更大的系统内存的支持,最终达到支持 64 位硬件平台。在不断提升可用性的努力过程中,SQL Server 2005 采用 Windows 2005 四路群集,提
16、供了大大改进的群集支持。SQL Server 7.0 已经在可管理性和易用性方面在行业内领先,SQL Server 2005 通过与 Windows 2005 活动目录紧密结合进一步改进了这些功能。而且,SQL Server 2005 还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。 SQL Server 2005 按照设计可以为部署和维护强大的、易于管理、支持商务活动的 Web 站点提供最好的性能,这些站点可以从事商家和商家之间或商家与客户之间的交易。在寻求一个支持您的电子商务解决方案的数据库时,需要考虑的项目包括:可用性、性能、可管理性和价格。,2014/
17、5/15,13,2.3 Dream weaver Dream weaver是MICROSOFT公司推出的网页制作工具,它功能强大、操作方便,易学易用,是目前最为流行的网页制作与站点管理工具。Dream weaver MX不仅保持了开发过程轻松及页面效果完美的制作风格,且工作界面清新自然,并对相关面板、图标等进行归整,使用户用起来更为顺手,开发更为简便。Dream weaver MX是功能更强大的用于可视化设计与管理网页和网站的专业级HTML编辑器。无论是在可视化编辑环境中进行开发,还是习惯于书写HTML代码,Dream weaver MX都能令用户很快上手,并且提供实用的工具来增加他们的网页设
18、计经验,使他们在网页设计中更加得心应手。 Dream weaver MX的可视化不只是体现在其灵活的界面和直观的开发环境上,面板的组合、行为、样式表、时间轴,以及定制并拓展Dream weaver 等强大的编辑的功能与完美的扩展性都是同类其他软件所不可比拟的。Dream weaver 是一个很酷的网页设计软件,它包括可视化编辑、HTML代码编辑的软件包,并支持ActiveX、JavaScript、Java、Flash、Shock Wave等特性,而且它还能通过拖拽从头到尾制作动态的HTML动画,支持动态HTML(Dynamic HTML)的设计,使得页面没有plug-in也能够在Netscap
19、e和IE 4.0浏览器中正确地显示页面的动画。同时它还提供了自动更新页面信息的功能。它采用图形化的界面以及“所见即所得(WYSIWYG)”的方式编写网页,大大提高了专业网页制作人员的工作效率,使得开发WEB更加轻松自如。,2014/5/15,14,第3章 系统具体设计过程 本章节的总体目标是将上一章节需求分析阶段得到的目标系统的逻辑模型,变换为目标系统的物理模型,具体将从系统的结构设计和数据库的设计两方面进行讲解。简单的说就是根据上一章节中需求分析的”做什么”,确定系统应该”怎么做”。3.1 总体结构设计 系统结构和功能是系统设计的核心部分,通过系统结构图可以清楚的看出整个系统的结构。针对每个
20、结构模块分别做分析,为以后的设计和实现打下基础。根据功能需求,本系统总体上分销售模块和系统管理模块,销售模块功能供购买者使用,系统管理模块功能供商家管理员使用。系统总体结构如图3.1所示。,2014/5/15,15,3.2 模块功能设计 本系统分销售模块和系统管理模块,每个模块又有若干个子模块构成,其中销售模块主要包括:商品展台、购物车、会员管理、新闻管理、注销登录等子模块。系统管理模块主要包括:商品管理、订单管理、会员管理、新闻管理、注销登录等子模块。具体的模块功能设计如下。3.2.1 销售模块 系统销售模块主要让商品购买者使用,可以进行各类商品信息的浏览和订购功能,系统销售模块的结构如图3
21、.2所示。,2014/5/15,16,系统销售模块具体功能设计如下:1、商品展示功能:包括新上架商品展示、特价商品展示、销售排行榜、分类商品信息展示和被选定的商品详细信息展示。每类商品都是根据数据库中商品信息表中的特定字段进行划分的,如特价商品是根据降价幅度是否大于百分之二十、新品是根据上架时间是否在三天或一周之内、排行榜是根据购物者下订单的多少。购物者可通过此模块实现浏览商品信息的目的。2、购物车功能:包括选定商品至购物车,查看、清空购物车;在购买者提交购物车(提交订单)之前,所有已选定的商品信息是存放在购物车实现类文件的DataSet数据集中。当提交购物车之后,该数据集中的信息就被写入数据
22、库。在用户未登陆之前,不能够使用购物车提交功能,如果选择了购物,那么系统会提示用户登录。3、会员管理功能:包括了注册、登录、索回密码等功能。对于注册功能,需要用户输入的信息取决于数据库中会员信息数据表中的字段;并通过各类型的验证控件实现校验。登录和索回密码功能所需的数据也是从会员信息数据表中得到。4、新闻管理功能:将数据库中的新闻信息数据表中的信息动态绑定至网站首页,同时允许用户单击了某条特定的新闻标题后查看相应新闻的详细信息。5、注销登录功能:保证在注册会员注销后清空其登录时候保持的信息,如会话信息、购物车信息等。,2014/5/15,17,3.2.2 系统管理模块系统管理模块的功能由发布商
23、品的商家使用,可以进行注册会员、商品信息、订单、动态新闻、在线调查等内容的管理,系统管理模块的结构如图3-3所示。,2014/5/15,18,系统管理模块具体功能设计如下:1、商品管理功能:具体包括对商品信息进行添加、编辑、删除等操作。对于新上架的商品,可以上传图片供购买者查看;对于已录入数据库的商品信息,可进行编辑和删除等操作。2、订单管理功能:具体包括对订单信息进行查看、执行等操作。3、会员管理功能:具体包括对已注册会员信息进行编辑、删除等操作,同时可手动添加会员信息。4、新闻管理功能:可实现对新闻的增加、删除、编辑等功能。5、注销登录功能:可实现让商家管理员退出后删除所有登录期间存储的信
24、息,如Session信息。3.3 数据库设计系统分析结束后进入设计阶段,抽象地分析数据,理解数据之间的关系,建立E-R模型,然后对数据库进行概念结构设计和逻辑结构设计。由于SQL Server 2000能够以极高的效率完成各种数据库查询,并能方便的使用存储过程,同时它的图形化用户界面,使系统管理和数据库管理更加直观、简单。另外由于对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。所以本系统采用了SQL Server 2000进行数据库的存储管理与维护。,2014/5/15,19,3.3.1 概念结构设计将需求分析得到的用户需求抽象为信息结构即概念结构设计,这一步是数据库
25、设计的关键。一般采用自底向上的方法进行数据抽象和结构设计。在本系统中涉及到的实体如下所示:1. 管理员(管理员ID、登录账号、登录密码、权限级别)2. 会员(会员ID、登录名、真实姓名、登录密码、所在城市、住址、邮政编码、证件号码、证件类型、电话号码、手机号码、邮箱、密码提示问题、问题答案) 3. 商品(商品ID,所属类别、商品名、商品介绍、单位,原价、现价、市场价格、购买次数、库存、图片、输入时间、最近更新时间、是否新品)4. 订单(订单ID、订单下达者、付款方式、送货方式、订单下达日期、执行状态、订单描述) 5. 新闻(新闻ID、新闻标题、新闻内容、录入时间)6. 在线调查(投票ID、投票
26、标题、投票起止日期、A答案及其选票数)7. 订单明细信息(订单详细信息ID,所属的订单号,对应的商品ID,对应商品价格、对应商品数量) 8. 商品大类信息(商品大类ID,商品大类名称)9. 商品小类信息(商品小类ID,商品小类名称,所属商品大类ID),2014/5/15,20,在该系统中,各个实体的关系为:一个管理员可同时管理会员、商品、订单、新闻、在线调查、商品类别等多个实体对象,并且它们之间都是一对多的关系;一个会员实体可以下达多条订单信息实体,而一条订单信息又可对应多条订单明细信息实体;一条订单明细包括一个商品实体;一个商品大类信息拥有若干商品小类信息实体,而一个商品小类实体信息又拥有多
27、个商品实体。各个实体之间的关系如图3.4所示。,2014/5/15,21,3.3.2 逻辑结构设计系统数据库设计的优劣直接影响到以后网站与数据连接的速度和更新查询的复杂度。本节介绍本系统基于关系数据库的数据库总体结构设计及数据表的设计。本系统的数据库设计是在系统功能分析后,依据系统的需求目标而做出的设计。本系统为基于ASP.NET的在线购物系统,所以最重要的数据表就是存放商品详细信息数据表、注册会员信息表、商品类别信息表、订单信息表等,表3.1为本系统所涉及到的数据表。,表3.1 数据表列表,2014/5/15,22,3.3.3 数据表详细设计各个数据表之间主键和外键之间存在某种关系,他们的对
28、应关系一般是商品ID、会员ID、类别ID、订单ID、管理员ID等各个元素的主键相链接的,关系图如图3.5所示。,图3.5数据关系图,2014/5/15,23,本系统中共涉及以商品信息表和商品类别表为中心的9张数据关系表。下面列出了本数据库中主要涉及到的数据表:1. 商品信息数据表(My_Goods):该表中存放系统销售模块商品的所有信息,该表字段及其类型定义如表3.2所示。,表3.2 商品信息表(My_Goods),2014/5/15,24,2. 会员信息数据表(My_Member):该表中存放在系统中注册的会员的所有信息,该表字段及其类型定义如表3.3所示。表3.3 会员信息表(My_Mem
29、ber),2014/5/15,25,3. 管理员信息数据表(My_Manager):该表中存放在系统管理模块中合法管理员的所有信息,该表字段及其类型定义如表3-4所示。 表3.4 管理员信息表(My_Manager),2014/5/15,26,4. 商品大类信息数据表(My_SuperType):该表中存放将商品按类别划分之后,商品大类的所有信息,该表字段及其类型定义如表3.5所示。表3.5 商品大类信息表(My_SuperType),其中商品小类信息数据表(My_SubType)、订单信息数据表(My_Order)、订单详细信息数据表(My_Order_Details)、 投票信息数据表(M
30、y_Vote)、新闻信息数据表(My_BBS)等由于篇幅原因就不一一介绍。,2014/5/15,27,第4章 电子商务网站具体页面设计实现 总体设计阶段完成了软件的结构设计,划分了模块,并规定了各个模块的功能及他们之间的联系。在此之后,按软件开发工程化的观点,应进入系统的详细设计阶段,即系统实现。该阶段的根本目标是确定应该怎样实现所要求的系统,给出软件模块结构中各个模块的内部过程描述。本章将分模块对系统的实现给予介绍。4.1 系统公共类的实现本节介绍系统使用的公共类,如数据库访问通用类(用于返回数据集、对象、受影响行数等)、用于完成购物功能的类等。编写公共类可以在其他页面中直接调用公共类的方法
31、、属性,避免重复代码的编写,有利于系统代码的维护和日后系统的升级。4.1.1 数据库操作类的实现数据库操作类用于根据系统功能的要求返回一个数据集、一个object对象(即:返回首行首列)、受影响行数(适合于对数据库的增删改操作)、SqlDataReader等。实现这些功能的是四个静态函数,其中每个静态函数又根据是否传入SqlParameter参数进行了重载。由于它们都是静态函数,而静态函数成员不能作用于具体的实例,所以在调用这些方法的时候可以直接用类名加函数名即可。下面仅列出返回数据集方法的实现算法,其他方法的实现逻辑大致相同:,2014/5/15,28,public class DataBa
32、se声明一个数据库连接对象 dbStrCon; public static DataSet ReDataSet(传入的Sql语句参数 FillSql, 传入的Sql参数列表 commandParameters) 利用在web.config配置文件中定义的全局变量为dbStrCon新分配一个数据库连接对象; if(数据库连接处于关闭状态)打开数据库连接dbStrCon;,2014/5/15,29,声明一个数据库命令对象 cmd ;指定cmd的数据库连接对象为dbStrCon,命令文本为FillSql,命令类型为文本型; if (commandParameters 不为空) foreach (声明
33、一个临时Sql参数 in commandParameters) 为Sql命令对象添加commandParameters中的所有Sql参数 声明一个Sql数据适配器ada,并指定其Sql命令为cmd; 声明一个DataSet数据集 dsResul; 利用数据适配器ada填充数据集 dsResul 清空Sql命令cmd里面的所有Sql参数; if(数据库连接处于打开状态)关闭数据库连接dbStrCon; 返回执行查询后的数据集 dsResult;,2014/5/15,30,public static DataSet ReDataSet(传入的Sql语句参数 FillSql) 为dbStrCon新分
34、配一个数据库连接对象; if(数据库连接处于关闭状态)打开数据库连接dbStrCon; 声明一个数据适配器ada,并指定其Sql语句为FillSql,数据库连接对象为dbStrCon; 声明一个DataSet数据集 dsResul; 利用数据适配器ada填充数据集 dsResul if(数据库连接处于打开状态)关闭数据库连接dbStrCon; 返回执行查询后的数据集 dsResult;,2014/5/15,31,4.1.2 购物车类的实现 在线购物网站中购买者可以在不同的页面进行购物,而在不同页面所选购的货物最终都是放到同一个购物车里。所以要编写一个购物车类进行处理用户的购物过程,这样可以节省
35、不必要的重复编写代码的时间,有利于维护和功能上的扩充。当用户在购物页面点击了”购买”按钮之后,将该商品的ID传入类中进行处理,根据用户单击的次数和商品的ID确定要购买的数量和商品,同样可以直接在购物车页面中编辑所需货物的数量。系统将这些信息使用Hashtable类进行存储,在用户提交购物车信息之前,Hashtable中的数据将暂时保存在Session会话变量中。在提交购物车之后,将写入数据库,实现过程的伪代码如下所示:public class ShopCar : System.Web.UI.Page 声明一个购物的DataSet数据集goodSet; 声明一个静态的String对象hh; pu
36、blic void godataset(string id) /向Hashtable中添加购商品id和数量 if (如果Session会话中变量bus的值为空) 声明一个哈希表变量 ht; 往ht中加入一个”键为id、值为1”的键值对; 将ht赋值给Session会话中的变量bus; 调用dafill()方法将商品信息添加到ht中;,2014/5/15,32, else 定义一个哈希表ht,并将其赋值为Session会话中的变量bus; if (哈希表ht中键为id的键值对为空) 将ht中键为id的键值对的值设定为1; else 将ht中键为id的键值对的值+1 将ht赋值给Session会话
37、中的变量bus; 调用dafill()方法将商品信息添加到ht中; public void dafill(Hashtable ht) /查询商品信息添加到数据集中清空购物的DataSet数据集 goodSet;foreach (字典键值对de in ht),2014/5/15,33,将hh赋值为字典键值对de中键;声明一个数据适配器datap,并指定其Sql语句为”从商品信息表中查出”,数据库连接对象为根据web.config文件中的连接字符串新建的数据库连接对象; if (如果数据适配器datap不为空) 用datap填充DataSet数据集goodSet; 4.2 网站主页的实现 本文设计
38、的电子商城为文静电子商城网站,首先介绍网站首页的设计,通过前台首页可以跳转实现系统的前台功能,首页就是一个载体,大多数网页功能模块都会在首页体现出来,可以完成的功能都可以通过页面进入,例如商品信息都在首页可以查询到。网站首页的截图如下:,2014/5/15,34,2014/5/15,35,4.3 销售模块的实现 系统销售模块主要包括:商品展台、购物车、会员管理、新闻管理、注销登录等子模块。在本节中将以首页、购物车和特价商品的展示为例介绍系统销售模块各个子模块的实现过程。4.3.1 销售模块基本框架的实现 本系统采用户控件来保持每个页面风格的一致性,其中销售模块首页布局如图4.2所示。,2014
39、/5/15,36,图5.2销售模块首页界面图,2014/5/15,37,首页的顶端导航条部分,左侧登录界面、销售排行、动态新闻部分,右侧商品分类导航条、在线调查、广告招商位部分,以及底端的版权信息部分 分别是四个不同的用户控件。下面以右侧的用户控件right.ascx为例论述一下其使用方法: 用户控件里面的所有需要从数据库动态读取信息的显示控件的数据绑定代码全部放在相应的用户控件后台代码中,例如right.ascx中商品分类信息导航树的伪代码如下:构造从商品大类信息表中检索所有记录的Sql语句supertype;构造从商品小类信息表中检索所有记录的Sql语句subtype;定义DataSet数
40、据集dssuper,赋值为根据supertype调用公共数据库操作类中静态函数后返回的数据集;定义DataSet数据集dssub,赋值为根据subtype调用公共数据库操作类中静态函数后返回的数据集;定义DataRow数据行rows存放dssuper数据集的首行;定义DataRow数据行subrows存放dssub数据集的首行;if (当前页面是第一次加载)foreach (数据行row in rows)声明一个树节点nd,将其Text属性设置为数据行row中字段名为typename的列,值设置为数据行row中字段名为id的列;,2014/5/15,38,将nd加到导航树的节点集中; fore
41、ach (数据行subrow in subrows) 声明一个树节点subnd,将其Text属性设置为数据行subrow中字段名为typename的列,值设置为数据行subrow中字段名为id的列;if (subrowsupertype.ToString() = rowid.ToString()将subnd加到父节点的节点集中去; 4.3.2 销售模块特价商品功能的实现 运行网站的主页,可以看到四条特价商品的信息,单击”More”按钮可以进入到特价商品网页,该页中包括商品的图片、名称、原价、现价、市场价格、库存数量等信息。单击”购买”按钮可以将该商品自动添加到购物车中去。另外可通过单击”查看详
42、细信息.”按钮进入相应商品的详细信息显示页面。特价商品模块在网站首页的设计效果如图4.3所示。,2014/5/15,39,图4.3销售模块特价商品展示界面图,在该模块中,要实现的最主要功能是在用户点击了特定商品的”查看详细信息”按钮后,进入相应商品的详细信息显示页面。这就要用到了数据显示控件DataList中的项模板,同时要用到服务器控件的CommandName和CommandArgument属性。当在页面中单击了LinkButton的时候,激发了一个CommandEvent事件,并产生了该事件类对应的参数列表:CommandEventArgs,它有两个公共属性,CommandName(用来获
43、取命令的名称)和CommandArgument(用来获取命令的参数)。二者相互关联。该功能的具体实现方法如下:,2014/5/15,40,查看详细信息.同时在后台需要添加相应DataList控件的ItemCommand响应代码:protected void DataListSpecial_ItemCommand(object source, DataListCommandEventArgs e) if (e.CommandName.Equals(CheckDetails) string id = DataListSpecial.DataKeyse.Item.ItemIndex.ToString
44、(); Response.Redirect(goodsdetail.aspx?id= + id.ToString(); 4.3.3 销售模块购物车功能的实现购物车如同生活中用到的购物清单,通过它可以清晰的知道已购的商品名称、数量、价格等信息,当用户以会员身份登陆后,单击商品中的”购买”按钮,就可以将商品信息添加到购物车中去,购物车中需要存储所有已选购商品的ID号、商品名称、数量和单价等信息。购物车根据用户单击”购买”按钮的次数或者提交购物车信息之前手动修改的数量来确定购买商品的数量。购物车页面设计效果如图4.4所示。,2014/5/15,41,图4.4销售模块购物车截面图,在本模块中主要是通过
45、DataList控件来显示商品已选购信息的,通过在DataList控件的项模板中添加表格来控制购物车显示的内容,同时在后台代码中为DataList控件的ItemDataBound事件手动添加响应代码,用来计算各种商品的合计金额和购买商品的总金额,并在DataList控件中使用FindControl方法查找DataList控件中的显示控件显示信息。核心代码如下:if (rowid.ToString() = (Label)e.Item.FindControl(id).Text.ToString() (Label)e.Item.FindControl(count).Text = (Hashtable
46、)(Sessionbus)rowid.ToString().ToString();,2014/5/15,42,4.4 系统管理模块的实现 系统管理模块主要包括:商品管理、订单管理、会员管理、新闻管理、注销登录等子模块。在本节中将以系统登录、商品管理和会员管理为例介绍系统管理模块各个子模块的实现过程。4.4.1 系统登录功能的实现为了系统的安全性,系统管理模块必须由成功输入管理员信息的用户才能进入,同时在管理员成功登录后将其登录信息存入Session会话变量。同时在系统管理模块的非登录页面,当页面第一次加载的时候判断Session中是否存在管理员的登录信息,这样就可防止用户通过在地址栏中直接键入
47、系统管理页面的地址、绕过登录页面直接进入系统管理模块。系统登录页面的设计如图4.5所示。,图4.5系统管理模块登陆界面图,本模块的实现过程中加入了随机验证码,这样就能进一步提高系统的安全性,防止非法用户采用暴力破解软件去试各种各样的密码,因为随机验证码生成的图片只能通过肉眼识别。,2014/5/15,43,4.4.2 商品管理功能的实现在线购物系统中,对于商品信息的管理是系统管理模块中最主要的子模块。一个好的在线购物系统必须要有一个强大的商品管理模块,主要实现对商品信息的管理,包括分页显示商品信息、添加商品信息、修改商品信息和删除商品信息等功能。下面以添加商品信息为例介绍本模块的实现过程,系统管理模块添加商品信息页面的设计如图4.6所示。,