毕业设计(论文)-基于ASP.NET的NIKE网站设计_第1页
毕业设计(论文)-基于ASP.NET的NIKE网站设计_第2页
毕业设计(论文)-基于ASP.NET的NIKE网站设计_第3页
毕业设计(论文)-基于ASP.NET的NIKE网站设计_第4页
毕业设计(论文)-基于ASP.NET的NIKE网站设计_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)题目 NIKE网站设计 姓名 学号 专业 计 算 机 网 络 技 术 班 级 0 9级 网 络 三 班 指导教师 职 称 2012年1月 摘 要20世纪90年代以来,计算机网络和通信技术得到了飞速的发展,数据处理和信息的传递突破了时间性和空间性的局限,信息化成为不可抗拒的潮流。随之迅速发展起来的全球性的电子商务正成为最活跃, 越来越多的网络商店走入了大众的生活,对电子商务网站的设计和实现技术要求也越来越高。论文研究电子商务网站的设计与实现,并采用ASP.NET动态网页技术实现了一个小型电子商务网站即宠物商店。论文首先简要介绍了电子商务及其实现技术,网上商店的构成及主要流程;然后详细介绍了宠物商店的需求分析和系统设计,并给出了宠物商店的ASP.NET实现方案及技术细节,包括运行环境的配置、数据库建立及各个功能模块的JSP实现细节等。网上商店实现了基本的前台功能和后台管理功能。ASP.NET在动态网页实现方面具有诸多优势,值得进一步学习和研究。关键词:电子商务 网上商店 动态网页 ASP.NET SQL-Server ADO.NETAbstract Since the 1990s, computer networks and communication technology has been rapid development, data processing and information transfer breakthrough of the time and space limitations, information has become an irresistible trend. Then the rapid development of global e-commerce is becoming the most active, a growing number of online stores into a public life, e-commerce sites on the design and implementation of technical requirements are getting higher and higher. Papers on e-commerce site design and implementation and use of technology ASP.NET dynamic pages a small e-commerce sites that pet shops. First of all papers gave a briefing on e-commerce technology and its implementation, the composition of online stores and major process and then described in detail the pet store needs analysis and system design, and gives the pet store to achieve the ASP.NET programme and technical details, including the operation The environment configuration, database and the establishment of various functional modules, such as details of the JSP to achieve. Shop the prospects of achieving the basic management functions and back-office functions. ASP.NET achieve in a dynamic page has many advantages, it is worth further study and research. Key words: E-commerce online store dynamic pages ASP.NET SQL-Server ADO.NET第一章 前 言B2C(Business to Customer, B2C)即企业通过互联网为消费者提供一个新型的购物环境网上商店,消费者通过网络在网上购物、在网上支付。由于这种模式节省了客户和企业的时间和空间,大大提高了交易效率。随着网上商店的快速增长,网上商店的设计和实现技术也迅速发展,出现了多种较成熟的实现技术。由于ASP.NET技术具有多方面的优点,因此在网上商店的实现中被广泛采用,同时ASP.NET技术还处在不断的发展之中,这正是论文选题的主要依据和动机。此次毕业设计第一阶段的主要工作是,学习有关电子商务和电子商务网站建设的基本知识,了解电子商务网站建设的相关技术,并在此基础上选择了使用ASP.NET作为开发语言来实现一个电子商务网站网上宠物商店,并学习ASP.NET及SQL Server数据库,C#编程语言等方面的知识。这是课题研究的基础性内容。第二阶段是在指导教师的指导下,进行网上书店的需求分析、系统设计及功能模块划分,然后建立数据库,并编写调试各个功能模块的代码,最后进行组装测试。通过教师的悉心指导和自己的努力,完成了毕业设计的各项任务,成功建立了网上耐克商店,基本实现了各项功能。第二章 概述2.1 网上购物系统的发展近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上订购系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文旨在讨论如何建设B2C的网上购物系统。 网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。2.2 网上购物的现状在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储、科罗格、J.C培尼等纷纷挤身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。 在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。在中国,网络用户规模急剧增大,最新的统计显示,中国网民数量已经突破一亿,仅次于美国,居世界第二。应当注意的是,中国现在20岁左右的青年人,大部分是伴随着网络成长起来的,他们对网络的依赖和忠诚度较之其他年龄层次的人更胜一筹,不久他们将成为实力最强的消费者,也为网络广告的增长带来了前所未有的商机。而又有40.7%以上的网民在过去的一年里有过网上购物经历,这就说明中国有网上购物的用户达是四千多万人,并且这一数字还在以17%左右的速度增第二章 概述长,这说明在中国发展网上购物具有良好的群众基础,网上购物方式日趋被大家所接受。2.3电子商务网站实现技术从系统的体系结构上看,电子商务网站一般采用三层的浏览器/服务器(Browser/Server,B/S)结构,整个电子商务网站主要由浏览器、Web服务器和数据库服务器三个部分组成。 2.3.1 Web服务器端开发技术Web服务器端开发技术中,最关键的是访问数据库的动态网页技术,包括CGI、ASP、PHP和JSP等,所做的宠物商店主要是ASP技术,所以我们重点关心ASP的开发。ASP全名为Active Server Pages,是一个 Web服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序。ASP采用脚本语言VBScript (JavaScript)作为自己的开发语言。ASP技术具有以下特点: 使用VBScript、JavaScript等简单易懂的脚本语言,结合HTML代码,即可快速完成网站的应用程序。 无需编译,容易编写,可在服务器端直接执行。 使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。 与浏览器无关(Browser Independence),客护端只要使用可执行HTML代码的浏览器,即可浏览Active Server Pages所设计的网页内容。Active Server Pages所使用的脚本语言均在Web服务器端执行这些脚本语言。 可使用服务器端的脚本来产生客户端的脚本。 ActiveX Server Components (ActiveX服务器组件)具有无限可扩充性。可以使用Visual Basic,Java,Visual C+,COBOL等程序设计语言来编写你所需要的ActiveX Server Component.2.3.2 网络数据库技术1. 网络数据库技术与B/S模式(1)网络数据库网络数据库,就是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储与数据库中的大量信息及时发布出去,实现用户与数据库的实时动态交互。网络数据库系统的组成元素包括客户端、服务器端以及连接客户端与服务器端的网络。网络数据库技术目前在局域网及Internet上应用广泛,例如许多企业的各种信息管理系统,基于校园网的各种教育系统和管理系统,基于Internet的各种简单网站留言簿、论坛及复杂的远程教育和电子商务网站,这些系统几乎都采用了网络数据库技术来实现。(2)采用网络数据库的B/S模式随着Internet的发展,以Web技术为基础的B/S模式应用越来越广泛,许多基于网络数据库的应用系统都采用这种模式。B/S由浏览器、Web服务器和数据库服务器三个部分组成。在这种模式下,客户端使用一个通用的浏览器,用户所有的操作都是通过浏览器进行的。B/S结构的核心是Web服务器,它负责接收远程或本地的HTTP查询请求,然后根据查询条件从数据库服务器中获取相关数据,再将结果翻译成HTML和各种页面描述语言,返回给提出查询要求的浏览器。同时,浏览器也可将要求更改、删除、更新数据记录的请求发给Web服务器,由Web服务器完成与数据库的连接并完成操作。典型的B/S模式结构如图1.1所示。Web 浏览器Web 服务器数据库服务器图1.1 B/S模式结构2. 常用网络数据库管理系统常用网络数据库管理系统有SQL Server、Oracle、IBM DB2、MySQL、Sybase及Access等,本网站是使用的是SQL Server所以我们重点谈下SQL Server.SQL Server是由Microsoft开发的一个功能强大的关系型数据库管理系统。它能够处理大量的数据和管理众多的并发用户,保证数据的完整性,并提供许多高级管理和数据分布能力。SQL Server与Windows NT系列的操作系统完美兼容。SQL Server 7.0易于安装、部署和使用,可运行在台式机、笔记本上,也可运行在多处理器计算机上,提供了数据仓库功能,支持远程管理,并提供了丰富的数据库编程能力。3. ADO技术介绍 在企业管理中,数据的管理和分析常常是现代管理的核心。因此,开发企业管理的网站时,访问、管理和分析数据总是程序的关键环节。微软公司提供的通用接口,多年来已经经历了几次大的改进:ODBC-OLEDB-ADO-ADO.NET。 ADO(ActiveX Data Objects,动态数据对象)技术是微软公司推出的数据库连接技术,运用该技术可以对各种数据库(如SQL Server、Access、Oracle及Sybase等)的链接、查询、存取等操作。ADO对象给开发人员提供一种快捷、简单、高效的数据库访问方法,ADO可以包含在脚本中来产生对数据库的连接,并从数据库表中读取数据,形成实际要使用的对象集合。而且,对于数据资源,提供了应用程序一级的界面。不过,ADO并不与数据资源直接通信,而是通过称为OLE DB的中间界面,对于数据资源(Microsoft SQL Server),OLE DB提供了系统一级的界面,他们的关系如图1-3-3 ADO、OLE DB和ODBC的关系。ADO是一组优化的访问数据库的对象集,为Web数据库开发者提供完整的网站数据库解决方案。ADO可以与ASP紧密结合,运行在服务器端,从而制作出功能完善的数据库网页。ADO除了支持各种数据库平台外,它还支持VB、VC和Script等多种程序设计语言。在利用ADO技术进行数据库网页制作的第一步就是要建立服务器端的数据库,即后台数据库,一般可选择SQL Server或者Access作为后台数据库。本次的毕业设计是以SQL Server作为后台数据库。应用程序Microsoft ADOOLE DBODBC驱动器非关系型数据关系型数据库图1-3-3 ADO、OLE DB和ODBC的关系4.ADO.NET技术ASP.NET使用的ADO.NET数据模型。该模型从ADO发展而来,但它不是只对ADO的改进,而是采用了一种全新的技术。主要表现在以下几个方面:(1) ADO.NET不是采用ActiveX技术,而是与.NET框架紧密结合的产物。(2) ADO.NET 包含对XML标准的完全支持,这对于跨平台交换数据具有十分重要的意义。(3) ADO.NET 既能在于数据源连接的环境下工作,又能在断开与数据源连接的条件下工作。特别是后者,非常适合于网络的需要。因为在网络环境下,保持与数据源连接,不符合网站的要求,不仅效率低,付出的代价高,而且常常引发由于多个用户同时访问是带来的冲突。因此ADO.NET系统集中主要精力用于解决在断开与数据源连接的条件下数据处理的问题。ADO.NET访问数据采用层次结构,其逻辑关系如图1-3-4所示。WEB应用程序(ASP.NET)数据层(ADO.NET)数据提供器数据提供器数据提供器数据存储区(XML)数据存储区 (SQL Server)数据存储区(Oracle) 图1-3-4 ADO.NET的层次结构第三章 网上商店第三章 网上商店网上商店一般由前台系统和后台管理系统组成。前台系统即客户系统,简称“前台”,是面向顾客的网页界面,它是顾客直接访问和进行购买活动的地方。前台系统一般包括会员服务、电子商品货架、购物推车、支付和订单查询等四大部分功能。前台系统还应包括一些其他辅助功能,如商场新闻、邮件列表等,但这些功能不是网上商店所特有的。后台管理系统常称为“后台”,是网站所有者利用计算机对电子商务网站各种功能进行管理、控制的系统。由于Web服务器、数据库服务器多数情况下不在“本地”,所以后台管理系统通常执行的是远程控制管理。网上商店流程:网上商店的流程贯穿着这样四个流程:前台流程、会员操作流程、后台管理流程、完整的购物流程。1. 前台流程图2-1描述了网上商店的前台流程。会员登陆商品浏览购物车车下订单单订单查询图2-1 前台顾客操作流程2. 会员操作流程前台流程中有关会员操作的流程也是比较复杂的,图2-2所示是详细的会员操作流程会员注册会员登录陆购物车会员修改订单查询 图2-2详细的会员操作流程没有在商店进行注册的顾客,首先要进行“注册”,以成为商店的会员。顾客注册成功后就可以使用注册信息和口令以会员身份登录进入商店了。已经注册的会员则可以直接登录,会员将商品放入购物推车和查询订单的操作。3. 后台管理流程 图2-3描述了后台管理流程。后台管理主要包括: 商店信息管理:维护商店的基本信息,例如商店名称,管理员口令等; 商店明细管理:维护商品特征信息的明细结构; 商品/目录信息管理:维护商品电子货架分类目录结构和商品信息; 会员管理:维护会员信息; 订单管理:管理订单处理流程; 留言板管理:管理留言板内信息删除不良信息; 后台的各个流程之间的关系相对独立,所以后台管理流程相对简单,不同流程对应的功能模块之间也基本独立,是一种平行关系。订单管理创建商店会员管理商品管理留言板管理图2-3后台管理流程4. 完整的购物流程如果合并顾客的前台购物流程和系统的后台订单处理流程,就会得到完整的购物流程,如图2.4所示。这个购物流程贯穿系统设计之中,是连接前、后台的核心流程。图2.4 完整的购物流程选择商品购物推车下订单收 款发 货收货确认 顾客在前台浏览和查询商品,然后将商品放入购物推车,通过支付功能模块对购物推车中的商品下订单,并实际支付(在线实时支付和汇款等)。网上商店后台系统收到付款后根据订单发货,最后顾客收到商品并确认(回执或签字等),这就完成了整个购物流程。第四章 网上购物系统的设计及实现第四章 网上购物系统的设计及实现4.1 系统设计Web层业务层数据访问层系统配置数据库客户端客户端客户端图3-1 c/s模式4.2 系统功能模块划分本系统主要实现在线电子商店的前台功能,可分为会员服务、商品查询、商品分类、购物车、用户订单和论坛等主要的功能模块。如图3-2所示。 在线耐克网店会员服务商品分类商品查询购物车投票系统论坛注册登陆商品列表详细信息选购商品产生订单查看别人的留言会员留言图3-2本系统在线电子商店的后台功能包括会员管理、商品管理、查看投票系统、留言版管理、订单管理。如图3-2-1所示。在线耐克网店管理会员管理商品管理查看投票系统订单管理留言板管理图3-2-14.3数据库设计数据库的概念结构设计完毕后,就可以将上面的概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。对于本系统,需要建立含有3个数据库。login数据库,shoppingBus数据库,vote数据库。一.login数据库1、表login用来记录注册用户的个人资料,结构如表3-1-1所示:字段名称数据类型说明userNamevarchar会员用来登录的名称userPwdvarchar会员用来登录的密码uaserEmailvarchar会员的邮箱表3-1-1 login表的逻辑结构图3-1-22、表GLYlogin用来记录管理员的个人资料,结构如表3-2-1所示字段名称数据类型说明UserNamevarchar管理员来登录的名称UserPwdvarchar管理员来登录的密码UaserEmailvarchar管理员的邮箱图3-2-1GLYlogin的逻辑表图3-2-2的逻辑表二.shoppingBus数据库 1.petType表 用来记录宠物的种类,结构如表3-3-1所示:字段名称数据类型说明PetTypeIDvarchar商品种类的编号petTypeNamevarchar商品种类的名字图3-3-1 petType的逻辑表图3-3-22.pet表 用来记录宠物的名字,价格,照片,简介,结构如表3-4-1所示:字段名称数据类型说明petIDvarchar商品的编号petNamevarchar商品的名字PetTypeIDvarchar商品种类的编号petPricedecimal商品的价格petPhotovarchar商品的图片petRemarkvarchar商品的简介图3-4-1 pet的逻辑表图3-4-23.busBaoCun表用来记录用户的订单信息,结构如表3-5-1所示:字段名称数据类型说明petIdvarchar商品的编号petAmountvarchar用户购买宠物的数量userNamelvarchar购买商品的用户名图3-5-1 busBaoCun的逻辑表图3-5-2创建shoppingBus数据库的SQL语句:create database shoppingBusgouse shoppingBusgo-商品类别create table petType ( petTypeID varchar(10) primary key,-类别编号petTypeName varchar(50) not null unique )go-插入测试数据(商品类别)insert into petType values (pt1001,休闲)insert into petType values (pt1002,复古)insert into petType values (pt1003,流行)go-商品表create table pet( petID varchar(20) primary key,-商品编号 petName varchar(100) not null, -商品名字 petTypeID varchar(10) foreign key references petType(petTypeID), petPrice money , petPhoto varchar(30), petRemark varchar(1000)go-插入测试数据(商品表)insert into pet values( pet1001,休闲,pt1003,100,0001.gif,适合喜欢休闲的朋友们)insert into pet values( pet1002,复古,pt1003,200,0002.gif,适合喜欢怀旧的朋友)insert into pet values( pet1003,流行,pt1003,400,0003.gif,适合喜欢新潮的朋友)go三.vote数据库1. voteMaster表用来记录投票的问题和总数,结构如表3-6-1所示:字段名称数据类型说明voteIDintVote编号voteTitleVarchar投票问题的标题voteSumInt投票数汇总图3-6-1 voteMaster的逻辑表第五章 网上宠物商店的实现图3-6-22voteDetails表 用来记录投票的选项的内容和每项的票数,结构如表3-7-1所示:字段名称数据类型说明voteIDintVote编号voteDetailIDvarchar选项编号voteItemvarchar选项的内容voteNumint每个选项的票数图3-7-1 voteDetails的逻辑表 图3-7-23.guestbook表用来记录会员的留言记录,结构如表3-8-1所示:字段名称数据类型说明bool_idIntVote编号Usernamevarchar选项编号Post_timeDatetiem选项的内容Contentvarchar每个选项的票数 图3-8-1guestbook的逻辑表 图3-8-2第5章 网上耐克商店的实现本系统采用的技术方案为ASP.NET +ADO.NET +SQL-Server,即使用ASP.NET作为Web服务器端开发语言,采用ADO.NET作为Web服务器和ASP.NET的引擎,采用SQL-Server作为后台网络数据库管理系统。5.1用户注册页面如果你不是会员必须登陆到宠物商店的注册界面进行注册成为我们的会员后才能访问。在进入注册前你必须认真阅读网站的相关约束条件如图4-1所示。图4-1阅读注册界面的网站要求后,当选择“同意”按钮后(默认)单击“下一步”后面板1(图4-1)将被隐藏,面板2(图4-2)将被显示。如果选择“不同意”按钮后将返回登陆页面。protected void Button1_Click1(object sender, EventArgs e) if (this.rBtnAgree.Checked) this.Panel1.Visible = false; this.Panel2.Visible = true; else if (this.rBtnNotAgree.Checked =true) Response.Redirect(login.aspx); 在图4-1中选择“同意”选项(默认)后点击下一步按钮将进入到注册界面如图4-2所示。在注册页面中用到了数据验证控件。验证工作最好放在客户端进行,可以减少服务器的负担,提高处理效率。将“用户名”、“密码”、“确认密码”、“邮件”4个输入框设置为必需输入验证(RequireFieldValidator)控件,如果输入为空时提示相应的错误信息。为“确认密码”输入框设置比较验证(CompareValidator)控件用来和上次输入的密码进行比较,看两者是否一致。为“邮件”输入框设置模式验证框(RegularExpressionValidator)检查输入是否符合Email的格式要求。最后设置一个汇总(ValidationSummary)控件,用来汇总验证的结果。 图4-2 protected void btnQR_Click(object sender, EventArgs e) if (Page.IsValid) /当各项值都通过验证 /与SQL数据库进行链接 SqlConnection con = new SqlConnection(server=.;database=login;uid=sa;pwd=;); con.Open(); SqlCommand cmd = new SqlCommand(select * from login where userName= + txtUserName.Text + , con); /用reader对象来查询用户名是否已经存在 SqlDataReader reader; reader = cmd.ExecuteReader();代码中的“if (reader.Read()”语句用于核对注册的用户名在login数据库中的login表中已经存在,如果存在将提示用户应经存在,请重新注册!,反正注册成功。 if (reader.Read() /若存在 Label1.Text = 用户应经存在,请重新注册!; reader.Close(); txtUserName.Text = ; txtPassword.Text = ; txtPassword1.Text = ; Emails.Text = ; else /用户不存在,则将该用户信息增加到数据库 reader.Close(); string StrSQL; StrSQL = INSERT INTO login VALUES ( + txtUserName.Text + , + txtPassword.Text + , + Emails.Text + ); SqlCommand cmd1 = new SqlCommand(StrSQL, con); /插入语句 cmd1.ExecuteNonQuery(); Label1.Text = 注册成功; con.Close(); 5.2会员与管理员登陆界面:我们声明了字符串变量username和password,再使用TextBox条件检索数据库。控件的text属性为变量赋值,以该用户名及密码为条件检索数据库。我们使用SqlDataConnection和SqlDataCommand对象连接和访问数据库,执行数据库检索语句cmd判断在login表中是否与输入的用户名和密码一致。如果你已经是本网站的会员输入正确的用户名和密码后将进入到浏览商品。如果输入的用户名或密码与数据库login表中信息不一致将不能进入到主网页,而是进入到报错页面。在系统中使用了application对象,用来统计访问网站的人数。使用session对象,用来保存登录的用户名。在后面的Global.asax全局文件中将具体讲解在本系统中的使用。图4-2代码如下: protected void Page_Load(object sender, EventArgs e) pageView.Text = ApplicationpageView.ToString();/统计访问人数 protected void btnQueRen_Click(object sender, EventArgs e) if ( rBtnHuiyuan .Checked =true ) string userName = this.userName .Text .Trim (); string userPwd = this.userPwd .Text .Trim (); SqlConnection con = new SqlConnection(server=.;database=login;uid=sa;pwd=;); con.Open(); SqlCommand cmd = new SqlCommand(select count(*) from login where userName= + userName + and userPwd= + userPwd + , con); int count = Convert.ToInt32(cmd.ExecuteScalar(); Session.Add(UserName,this.userName.Text ); if (count 0) Response.Redirect(main.aspx); else Response.Redirect(LoginFail.aspx); protected void btnCancel_Click(object sender, EventArgs e) /userName.Text = ; userPwd.Text = ;/置空 protected void btnZhuCe_Click(object sender, EventArgs e) Response.Redirect(login.aspx);/进入注册页面 5.3进入购物的主界面登录成功后,进入到系统前台首页的最新商品,不同的商品种类在不同的购物架上。这里我们使用SqlDataReader对象读取数据,读取数据之前必须保证数据库链接已经打开(con.Open()完成了这项操作),然后执行SqlDataCommand对象的的检索语句cmd,将shoppingBus数据库中的petType表的宠物种类显示在DataGrid对象中如图4-3-1。 图4-3-1代码: protected void Page_Load(object sender, EventArgs e) LbUserName .Text=(string )Session UserName;/session对象中的用户名赋给 LbUserName对话框 if (!this.IsPostBack) SqlConnection con = DB.Creatcon(); con.Open(); SqlCommand cmd = new SqlCommand(select * from petType, con); SqlDataReader sdr = cmd.ExecuteReader(); this.DataGrid1.DataSource = sdr; this.DataGrid1.DataBind(); 用户需要查看某种类商品下的详细信息,单击需要查看的商品,将自动转入商品详细信息页。点击“狗”将进入宠物狗的详细信息页如图4-3-2所示,点击“猫”将进入宠物猫的详细信息页面如图4-3-3所示。点击“鸟类”将进入宠物鸟的详细信息页面如图4-3-4所示。用户在商场可以领取一个购物车,当看到自己喜欢的商品时,可以将其放入购物车中,待购物完毕后,将购物车推到收银台结帐。整个购物过程中,购物车是帮助用户存放商品的地方。在网络中的购物车与商场的购物车道理是一样的,用户可以单击商品后面的“购买”按钮,你所选定的商品将进入你的购物车中,单击“查看”按钮将可以看到购物车中商品。购物车设计是网上宠物商店系统最为关键的部分,通过把用户选择的数据信息存入到session对象中,然后再对session对象中的数据进行处理实现购物车。购物车的实现主要是运用session对象,每次传递过来的商品id和数量存放到Hashtable中,将宠物编号存储在hashtable表的key中,购买的数量存储在hashtable表的value中,然后将Hashtable表中的内容传递给session对象中。图4-3-2图4-3-3图4-3-4代码实现过程主要通过DataGrid的数据绑定实现,将pet表中的数据绑定到DataGrid1中。 protected void Page_Load(object sender, EventArgs e) if (!this.IsPostBack) SqlConnection con = DB.Creatcon(); con.Open(); string PetTypeID= Request.QueryString TypeID.ToString() ; SqlCommand cmd = new SqlCommand(select petTypeName from petType where petTypeID=+PetTypeID+ ,con ); this.txtBox1.Text = Convert.ToString(cmd.ExecuteScalar(); cmd.CommandText = select * from pet where petTypeID= + PetTypeID + ; SqlDataReader sdr = cmd.ExecuteReader(); this.DataGrid1.DataKeyField = petID;/数据源中的键字段 this.DataGrid1.DataSource = sdr; this.DataGrid1.DataBind(); DataGrid1对象的DataGrid1_ItemCommand事件,触发该事件时商品将添加到购物车中。当购物车中没有商品时,新建一个session的购物车。创建一个hashtable表,ht表中有value和key两个变量,分别用来存储商品的编号和购买的数量。ht.Add(petID, 1)语句向ht表中添加值,因为是首次添加所以key为1,然后Sessionbus = ht语句,将ht内容存储到session的集合中。 protected void DataGrid1_ItemCommand(object source, DataGridCommandEventArgs e) if (e.CommandName=AddToBus) /一个添加购物车按钮 string petID = this.DataGrid1.DataKeyse.Item.ItemIndex.ToString();/将索引每一行的主键放入DataKeys中 取出对应的主键 /获取表中当前行的索引if(Session bus=null ) /购物车为空值 新建一个购物车 System.Collections.Hashtable ht = new Hashtable();/创建一个集合变量/共用的 提到前面去了 string petID=this.DataGrid1 .DataKeys

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论