基于ASP.NET的小型B2C电子商务网站的设计与实现

2016-06-17 20:55卢桂荣姜明
电脑知识与技术 2016年11期
关键词:购物车控件买家

卢桂荣++姜明

摘要:随着电子商务技术的蓬勃发展,越来越多的企业通过B2C商务网站为消费者提供产品和服务。文章详细介绍了小型B2C商务网站的系统架构、前台和后台功能,以及数据库的设计和实现过程。重点讲解了购物车、后台订单管理功能的实现。网站开发采用ASP.NET 技术和C# 语言,SQL Server 2005 作为后台数据库,Visual Studio 2005 作为开发工具,实现小型B2C商务网站的一般功能。

关键词:ASP.NET;商务网站;SQL Server2005;Visual Studio 2005;购物车;B2C

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)11-0286-04

Abstract: With the development of E-Commerce,more and more companies supply products and services on B2C E-Commerce Website. This paper provides detailed system architecture, foreground function and background function, giving database designing as well as realization. It also explains how to realize the function of Shopping Cart and order management in detail. The website adopts ASP.NET technology and C# language, using SQL Server 2005 as the background database and Visual Studio 2005 as development tool, realizing the general function of a Small B2C E-Commerce Website.

Key words:ASP.NET; e-commerce website; SQL Server2005; Visual Studio 2005;shopping cart; B2C

1 背景

随着计算机网络技术的迅猛发展,电子商务技术发展日新月异。 按照交易对象不同,电子商务分为ABC、B2B、B2C、C2C、B2M、M2C、B2A、C2A、O2O 等多种形式[1]。B2C简称为“商对客”,也就是通常说的直接面向消费者销售产品和服务的商业零售模式,企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、网上支付等 [2]。“网上商店”就是我们说的商务网站。企业可以在商务网站上展示商品信息、企业信息、新闻简讯等,只要买家注册、登录,就可以下订单,轻松实现在线支付,卖家通过物流配送系统对买家商品进行发货。这种虚拟的在线商务网站打破了传统的线下交易过程,使买卖双方变得更加轻松、便捷,深受年轻人的青睐。

2 系统分析

当今流行的网上商城系统不仅仅是把商品展示的内容摆放在网站上那么简单,更要包含更多漂亮的设计元素,给予浏览者更多的视觉享受[3]。本文讨论的小型B/C商务网站主要考虑买家和商家两个方面的需求:

买家:买家打开商城首页,可以浏览商品类别信息、商品信息,查看新闻动态,销售排行榜。买家注册后成为会员,登录后方可下订单;同时买家还可以修改自身注册信息,查看订单信息。

商家:商家登录后台后可以管理买家信息、商品类别信息、商品信息、订单信息,以实现发货处理。

如下图是小型B/C商务网站前台和后台功能框图。

3 系统设计

3.1 系统结构

系统采用B/S架构,主要解决各种资源和信息在Web上的录入、发布、查询和远程调用。B/S 是由客户端浏览器、Web 服务器和数据库服务器组成的三层结构[4],如图3所示。

3.2 开发技术

系统采用ASP.NET动态网页开发技术,前台开发工具为Adobe Dreamweaver CS6、Visual Studio2005,后台数据库采用SQL server2005。。

3.3 数据库设计

数据库设计是软件开发中非常重要的一个环节,数据库设计的好坏直接影响软件的性能和质量。我们严格遵循数据库设计的步骤,根据需求分析界定的软件功能和数据流程,首先设计出数据库的概念模型,概念模型用全局ER图表示,如图4所示。

在全局ER图中,我们抽象出商品类别、商品、订单、会员、新闻、管理员共计六个实体,实体之间的联系、实体和联系的属性已经在上图中标出。接下来将ER图转化成某个DBMS支持的数据模型,并对其优化。最终ER图转化的关系模式如下所示:

管理员表(管理员编号,管理员名称,密码)

商品类别表(类别编号,类别名称)

商品表(商品编号,商品名称,商品单价,商品图片,类别编号,上架日期,商品描述)

新闻表(新闻编号,新闻标题,内容,图片,发布日期)

会员表(会员编号,会员昵称,密码,性别,真实姓名,联系电话,email,地址,邮编,邮编,注册日期)

订单表(订单编号,会员编号,订单总金额,订单日期,订单状态,支付方式,是否付款,收货人真实姓名,联系电话,地址,邮编,email)

订单明细(订单编号,商品编号,购买商品数量,商品总价格)

购物车表(购买编号,会员编号,商品编号,商品数量,总价格,购买日期)

为了编程方便,我们将中文表名称、中文字段全部用英文名称表示,并在SQL Server2005中完成了建表。其中的表结构如下图所示:

这里重点说明一下购物车表Tb_BuyInfo的作用。这张表在编程实现的时候作用很大,它用来临时存储会员的购物信息。会员登录后,选择需要的商品添加到购物车中,购物车中的商品信息记入此表,订单提交后购物记录从该表中删除,因此它相当于一个临时的存储空间。此表详细用法在后面购物车实现的时候有详细介绍。

SQL Server2005中生成表之间的关系图,如下图13所示:

4 系统实现

4.1 界面设计

除了满足既定的功能需求外,我们还要兼顾界面美观、好的用户体验等多个方面。界面美观可以给买家更多的视觉上的享受,延长买家在网页的停留时间,提高转化率。

在栏目布局上主要考虑买家在购物时希望能够在最短的时间内锁定目标范围,提高购物的便捷性。除了基本栏目(logo、导航、登录、新闻、销售排行、商品类别)外,针对无目的性的买家,大的折扣、优惠信息、新产品等是抓住用户心理的主要方法,因此,在首页明显位置展示非常有必要[5]。在配色上主要考虑使用明亮的颜色容易引起人类的注意,争取在7秒钟内让买家加深对商品的印象,提高购物兴趣。

4.2 前台相关功能实现

系统开发过程中用到了ASP.NET 中的ADO.NET数据库访问技术。ADO.NET 是ASP.NET 应用程序与数据库进行交互的一种技术,应用程序可以通过ADO.NET 连接到各种数据源,并检索、操作和更新数据。ADO.NE T中有几个非常重要的操作SQL Server2005数据库的对象,它们是SqlConnection、DataSet、SqlCommand、SqlDataAdapter。

考虑到程序的可维护性、扩展性,所有开发过程严格按照企业级开发规范进行,如程序书写中的变量命名、程序注释、公共类编写等都必须严格把关。

商务网站前台功能中非常重要的有会员注册登录模块、商品展示模块、商城新闻模块、销售排行榜模块、购物车模块。其中购物车模块式前台功能的核心,下面进行详细介绍。当会员登录后选择自己喜欢的商品,加入购物车后,点击首页中的“购物车”按钮,即可出现下图。

在购物车页面中,买家可以修改购物数量、删除不喜欢的商品,可以单击“继续购物”按钮进入首页继续购物,还可以“清空购物车”、“结账”付款。购物车中的商品展示使用GridView控件实现,在页面的Page_Load()事件中给控件初始化以绑定内容,加载当前登录买家选购的商品信息,该商品信息在买家单击“购买”按钮时候已经保存在购物车表tb_BuyInfo中;同时,增加GridView控件的RowDeleting()、RowEditing()、RowUpdating()三个事件,用来实现购物车中商品的删除、修改、更新功能。

购物车实现是开发过程中的难点,为此在编程的时候增加了访问数据库的公共类DBHelper、购物车公共类BuyCar。在DBHelper类中主要有如下方法:

1) GetConnStr():获得数据库连接字符串。

2) GetDataSet(string sql) :由sql变量(select语句)得到DataSet类型查询记录集合。

3) ExecSql(string sql) :执行sql语句,主要是insert、update、delete语句。

4) GetReader(string sql) :由select语句(sql)查询得到SQLDataReader类型记录集。

5) BindDDL(DropDownList ddlName, string sql) :给dropdownlist控件绑定数据库源。

6) FindValue(string TabName, string FieldName, string strVal) :查找某值在某个表的某字段中是否出现过。

BuyCar类中主要有如下方法:

1) GetPriceByGoodsID(int GoodsID):由商品编号得到商品单价。

2) AddShopCart(int GoodsID, float Price, int MemberID, int Num) :向购物车表tb_BuyInfo表中添加购物信息。

3) TotalMoneyNum(int MemberID):获得当前购物用户的所有购物金额和购买商品总数量,放在记录集变量中返回。

4) DelShopCarByMemberID(int MemberID, int BuyID):在tb_BuyInfo表中删除指定会员、指定购物编号的购物记录。

5) UpdateShopCarGoodsNum(int MemberId, int BuyID, int Num):更新购物车中对应商品的数量,同时修改对应商品的SumPrice,以及所有商品的总数量和总价格。

4.3 后台管理功能实现

后台管理功能包括会员管理、商品类别管理、商品管理、新闻管理、订单管理等方面。其中订单管理是重点也是难点,下面进行详细介绍。

订单管理主要涉及订单查询、编辑、打印等几个方面,如下图15所示。管理员可以根据订单编号、是否付款、是否发货来查询订单信息,之后对订单进行编辑和查看;如果订单没有付款可以进行编辑,单击“编辑”按钮进入图16所示的订单修改页面,在此页面中可以修改订单状态,也可以打印订单信息。

订单管理页面中的订单信息展示使用的是GridView控件,在页面的Page_Load()事件中给控件初始化以绑定内容。搜索按钮的单击事件,主要是拼接查询字符串并根据查询结果重新给GridView控件绑定新内容。同时,给GridView控件增加RowEditing()、RowDeleting()方法,以实现订单信息的编辑和删除功能。

订单修改页面中,商品信息展示使用GridView控件,在页面的Page_Load()事件中给控件初始化以绑定内容。另外,订单信息、购货人信息、收货人信息是使用表格布局实现的,根据当前订单编号的值查询出相关信息并显示出来。“打印文档”功能使用客户端JavaScript实现。“修改”按钮的单击事件中保存当前订单信息,主要是通过修改数据库中订单表实现,订单明细表不受到影响 。

5 结束语

本文介绍了小型B/C电子商务网站的功能分析、数据库设计、部分功能的编程实现。ASP.NET动态网站开发技术使用简单,功能强大,开发和执行效率高,利用它可以很方便地开发动态的交互的、高性能的电子商务网站。

参考文献:

[1] 电子商务[EB/OL]. http://baike.baidu.com/view/757.htm.

[2] B2C[EB/OL].http://baike.baidu.com/view/16398.htm.

[3] 董慧, 王海洋, 谢静. B2C 电子商务网站设计[J]. 计算机与现代化, 2014(11): 15.

[4] 李鹏海, 张鹏. 基于Internet 的高校科研管理系统的研究与开发[J]. 天津理工大学学报, 2007, 23(5): 37.

[5] 杨亚萍. 基于服务设计理念的B2C 电子商务网站设计[J]. 学术探讨, 2014(9): 44.

猜你喜欢
购物车控件买家
买家秀和卖家秀
被疫情改变的购物车
推购物车购物
购物车里的“时间线”
清空购物车了吗!
热图
拉风买家秀
ASP.NET服务器端验证控件的使用
Spreadsheet控件在Delphi数据库系统中的编程与应用