下一篇 »

基于ASP.NET在线书店的开发与设计

基于ASP.NET在线书店的开发与设计

 

 

 

部门 教务处

岗位  专职教师

姓名 李清海

 

 

二〇一六年一月

 

 

基于.net在线书店的开发与设计

李清海

 

摘要:本在线书店系统是在Visual Studio.Net 平台上运用ASP.NET技术来实现的,本设计首先简单介绍了ASP.NET的一些相关知识,然后对网上书店进行了需求分析和功能设计,最后详细介绍了客户管理模块、商品显示模块、购物车模块、订单处理模块的设计和实现。本设计采用三层结构开发,位于表现层的为书店的页面设计和相关操作,位于事务层的是自定义的一些数据类,位于数据存储层的为SQL Server中的bookstore数据库。通过本设计,可以了解ADO.NET访问数据库过程和领悟.NET 架构的设计思想。

关键字:.net框架 ;asp.net;电子商务

 

 

 

 

The development and design of online 

Bookstore with .net

Li Qinghai

Abstract:This online bookstore system uses ASP.NET technology to realize on Visual Studio.Net platform.At first we introduce some knowledge about ASP.NET.In the second we analyzed the desire and function of the online bookstore.At last, we introduce the how design and realized the austomer management module, trade display modele, Shoppingcart module and order module.we used three-tier structure technology to develop this systerm: in the performance level is the bookstore pages designing and operarions;  data classes is on the Services Layer ,and the database is placed on the data storage layer .We can understand  how to use ADO.NET to visit database and  the thought of .NET Framework  

 

Keywords: .Net framework, Asp. Net, e-commerce 

 

 

目录:

引言: 1

第一章 ASP.NET概述 1

1.1 .NET简介 1

1.2  ASP.NET简介 2

第二章 网站需求分析及功能介绍 3

2.1 需求分析 3

2.2 功能设计 3

2.3 在线书店系统流程图 4

第三章 数据库设计 4

3.1 设计数据库表 4

3.2 存储过程 7

第四章:详细设计 7

4.1 设计数据访问类 7

4.2 公共模块设计 9

4.3 商品信息显示模块设计 10

4.4 购物车模块设计 10

4.5 用户管理模块实现 14

4.6 订单模块的实现 16

第五章 网站开发小结 18

参考文献 18

 

引言:

随着Internet的迅猛普及,电子商务已成为现代人生活中重要的一部分。电子商务(Electronic Commerce简称E-commerce)是在因特网开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。但是,国内的电子商务还处在一个初始阶段,还需开发和利用。居于以上原因,这次毕业设计我选择了这个课题,即基于ASP.NET来实现一个图书电子商务的交易平台。目的是通过这次毕业设计促使我进一步学习和巩固电子商务编程。基于ASP.NET实现一个在线书店,可以通过网络实现定购,销售和管理商品。旨在通过电子商务这一新型的商业运营模式,一方面是为了体现电子商务可以减少成本、传播迅速、服务质量高的优点,另一方面对微软的ASP.NET技术在动态网站开发过程中所具有的优势,如:多语言的支持、标准的开放性、跨平台操作性、代码重用和商务集成等作初步的探讨。

第一章 ASP.NET概述

1.1 .NET简介

1.1.1 .NET Framework 简介

     .NET Framework是用于生成,部署与运行XML Web服务和应用程序的多语言环境,是ASP.NET页面开发的核心技术。其体系结构如图:

 

 

 

1.1.2  .NET语言

.NET支持很多语言,包括Visual Basic、C#、J#、C++等,其中Visual Basic是在.NET应用较为广泛的一种语言。Visual Basic 是一种为高效的生成类型安全和面向对象的应用程序而设计的语言,它由早期的Visual Basic 语言发展而来。通过增加对继承、结构化异常处理、多线程编程及全新的Web窗体引擎的支持,Visual Basic 语言的功能得到了显著的增强。

1.2  ASP.NET简介

ASP.NET 是美国微软公司开发的一种建立在.Net之上的Web运行环境,是新一代的Active Server Pages。ASP.NET是微软公司新的体系结果Microsoft.Net的一部分,其全部新的技术构架使得编程变得更加简单。借助于ASP.NET可以创造出内容丰富的,动态的,个性化的Web站点。

ASP.NET作为网络应用开发的新一代语言,其工作原理是基于网络传输的。一般而言,其工作过程如下:



    

            客户机                                 服务器

     


 

                                数据库

 

 

客户机体术页面访问请求

Web服务器交由ASP.NET引擎来处理,ASP.NET引擎首先检查输出缓冲中是否由此页面或此页面是否已被编译成DLL文件(动态链接库文件);如果Asp.net页面是一次被访问,则程序首先编译成DLL文件。

如果找到被编译成DLL文件,则省略编译步骤,直接利用编译成的DLL文件建立对象,将执行结果返回客户端浏览器。

 

 

 

第二章 网站需求分析及功能介绍

2.1 需求分析

现在随着网络技术的高速发展,电子商务也在不断的兴起,网上书店也相继发展起来。对于任何一个客户而言,不论身在何地,只要有一台接入互联网的计算机,就可以买到自己想要的图书。对于商家来说,也不管身在何地,只要有一台接入互联网的计算机就可以对自己的网上书店进行管理。真正实现了足不出户,完成自由交易的设想。

2.2 功能设计

根据需求分析并结合一些成熟在线书店网站可知,一个在在线书店应该具有以下功能:

用户注册:用户必须先注册,然后才能购买图书;

用户登录:通过用户邮箱地址和密码登录

图书浏览:浏览网站中的所有图书

图书详情:浏览网站中每本图书的详细信息

添加只购物车:用户在确定购买图书以前,将商品添加到购物车中

下定单:向网上购物系统提交购物指令

订单浏览:浏览自己已经提交过的历史订单

综上所述,可以将在线书店划分为如下模块:

用户管理模块:主要实现用户的登录,注册。登录需要给出:email地址,用户密码信息;注册需要给出:用户名,email地址,用户密码信息。

商品显示模块:主要实现用户对书籍信息的浏览。用户可以分类浏览,书籍分为计算机,历史,传记,文学,其它五类。书籍信息包括书籍的书名,作者,价格,简述。

购物车模块:要实现用户购物信息的管理。用户可以将自己想要的图书添加到购物车中,并可以对购物车中的图书是否购买,购买数量进行修改并给出购物总价钱。

订单模块:主要实现用户对自己查看自己的交易记录。用户可以查看自己的订单号,订单日期,订单总和,出货日期,详细信息。其中点击详细信息可以查看自己所购买的图书的名称、作者、数量、单价、总计。

在线书店系统结构如下:

 

2.3 在线书店系统流程图

根据各个模块功能,可以得出在线书店系统流程图如下:

 

 

 

第三章 数据库设计

3.1 设计数据库表

一般数据库设计的原则是:一致性原则、完整性原则、安全性原则、可伸缩性原则。本在线书店使用SQL SERVER 2005作为数据库,其中数据库为bookstore,根据系统功能设计的要求以及功能模块的划分,该数据库包含以下数据表:

(1)Book表:用来存储书籍的一些基本信息,包括图书编号,图书类别编号,图书名称,图书作者,图书简介,图书价格,图书封面,图书出版时间,图书出版社

(2)Category表:用来存储书籍的类别,包括图书类别编号,图书类别名称

(3)Customers表:用来存储用户的基本信息,包括用户编号,用户名称,用户邮箱,用户密码。

(4)Oderdetails表:用来存储订单的详细信息,包括信息编号,订单编号,图书编号,购买图书的数量,图书单价。

(5)Orders表:用来存储所有订单信息,包括订单编号,用户编号,订单添加日期,订单处理日期。

(6)Review表:用来保存网友对图书的评价信息,包括评论编号,图书编号,评论人姓名,评论人邮箱地址,评价等级,评价内容。

(7)Shoppingcart表:用来保存购物车信息,包括记录编号,购物车编号,图书数量,图书编号,购物车生成时间(默认为getdate())。

 

上述各表的具体结构如下:

3.1.1 book表

序号 字段名 数据类型 允许空 描述

1 Bookid Int 否 图书编号

2 Categoryid Int 否 图书类别编号

3 Bookname Nvarchar(50) 否 图书名称

4 Bookauthor Nvarchar(50) 否 图书作者

5 Bookbak Nvarchar(3000) 是 图书简介

6 Bookcost Money 是 图书价格

7 Bookiamge Varchar(50) 是 图书封面

8 Booktime Datetime 是 图书出版时间

9 Bookpublish Varchar(100) 是 图书出版社


 

 

3.1.2 category表

序号 字段名 数据类型 允许空 描述

1 Categoryid Int 否 类别编号

2 Categoryname Nvarchar(50) 否 类别名称

    

 

3.1.3 Customers表

序号 字段名 数据类型 允许空 描述

1 Customerid Int 否 用户编号

2 Fullname Nvarchar(50) 否 用户名称

3 Emailaddress Nvarchar(50) 否 用户邮箱

4 Passwords Nvarchar(50) 否 用户密码

 

 

3.1.4 orderdetails表

  序号 字段名 数据类型 允许空 描述

  1 Detailid Int 否 信息编号

  2 Orderid Int 否 订单编号

  3 Productid Int 否 图书编号

  4 Quantity Int 否 购买数量

  5 Unitcost Money 否 图书单价

 

 

3.1.5 orders表

序号 字段名 数据类型 允许空 描述

1 Orderid Int 否 订单编号

2 Customerid Int 否 用户编号

3 Orderdate Datetime 否 订单添加日期

4 Shipdate Datetime 否 订单处理日期

 

 

 

3.1.6 Review表

序号 字段名 数据类型 允许空 描述

1 Reviewid Int 否 评论编号

2 Productid Int 否 图书编号

3 Customername Nvarchar(50) 否 评论人姓名

4 Customeremail Nvarchar(50) 否 评论邮箱地址

5 Rating Int 否 评价等级

6 Comments Nvarchar(50) 否 评价内容

 

3.1.7 Shoppingcart表

序号 字段名 数据类型 允许空 描述

1 Recordid Int 否 记录编号

2 Cartid Nvarchar(50) 否 购物车编号

3 Quantity Int 否 图书数量

4 Bookid Int 否 图书编号

5 Datecreat Datetime 否 购物车生成时间

3.2 存储过程

存储过程是web应用程序后台数据存储的组成部分。Web开发时可以让数据层的软件直接访问数据库表,但是,在数据库中使用存储过程可以让数据层的操作变得简单易于维护,同时还能在很大程度上提高性能。本在线网站开发中用到存储过程来实现对数据库内容的读取,添加,删除。

第四章:详细设计

4.1 设计数据访问类

数据访问类是一组包装了对数据库进行各种操作(如链接数据库、获取数据、关闭链接等类)通过调用存储过程来完成数据操作。本在线书店主要用到了以下类

(1)Bookdb类,用于书籍信息相关的数据访问类。其内容如图:

Getbookcategory通过调用执行数据库中的存储过程getbookcategory得到图书的编号(categoryid)

Getbookdetail方法通过向存储过程传递@bookid,执行存储过程getbookdeitail得到图书的详细信息。

Getbooks方法通过向存储过程传递@categoryid,执行存储过程bookbycategory得到相应categoryid的所有图书

Searchproductdescriprition方法通过向存储过程传递@search,执行存储过程productseach得到要查找的图书。

(2)Customerdb类,用于注册用户信息相关的数据访问类。其内容如图:

addcustomer方法向存储过程传递@fullname,@email,@_

password,执行存储过程customeradd,实现添加用户功能。并得到一个customerid。

Getcustomerdetail方法主要根据customerid得到用户的详细信息。

Login方法用于检查用户是否登录

(3)Ordersdb类,用于订单处理的数据库访问类。其内容如图:

Calculateshippingdate方法用于计算订单的处理时间;

Getcustomerorders方法获得用户所有订单信息

Getorderdetails方法用于获得订单的详细信息

New方法用于定义一个新的订单

Placeorder方法用于添加订单详细信息

(4)  Reviewdb类,用于评论处理的数据访问类。其内容如下:

addreview方法用于添加对书籍的评论

getreviews方法用于读取指定编号图书的评论信息

(5)Shoppingcartdb类,用于购物车处理的数据访问类,其内容如下:


additem方法用于将购物信息添加到购物车中

getitemcount方法用于获得购物车中图书数量

getitems方法用于根据购物车id得到购物车的信息

gettotal方法用于计算购物车中商品总价钱

migratecart方法用于合并用户登录前和登录后的购物车

removeitem方法用于删除购物车中的图书;       updataitem方法用于更新购物车中的图书信息

另外根据需要有定义了book类,用于传递图书的详细信息;customer类,用于传递用户的详细信息;shoppingcartid类,其中的getshoppingcartid方法用于获取购物车id。

4.2 公共模块设计

鉴于代码的重用率较高和保持整个项目界面风格一致,在这里将页头,和图书分类两块采用web用户控件技术设计为header.ascx控件和menu.ascx控件。

Web用户控件header.ascx用于显示页面顶部信息,主要含四个链接和一个用于搜索的文本框。这里使用了四个静态链接来实现页面之间的转换;使用了一个html表单,该表单有serchreasult.aspx处理,并有serchreasult.aspx负责显示搜索到的信息。

Web用户控件menu.ascx用户实现图书分类导航。 表现层的menu.ascx使用到了控件的datalist来显示图书分类信息。这里主要是在datalist的selecteditemtempate, itemtemplates属性中与数据库category表绑定,使得datalist依据category中的图书分类信息显示导航条。当页面加载时,程序调用类bookdb中自定义方法getbookcategory,该方法通过调用并执行存储过程getbookcategory从数据库中读取category表中的分类信息,并将结果保存到数据阅读器中,当用户单击导航条单项连接时,便可以指向指定的页面。从而实现导航条功能。

这里还使用了master Page将两个用户控件组合在一起,构成了网站网页的基本结构。在开发后面的模块中如果用到这两个用户控件时,只用在创建新项目是选中使用模板页对话框就可以直接使用这两个用户控件了。页面示意图如下: 


4.3 商品信息显示模块设计

商品信息显示模块主要包含两个功能,一个功能是根据图书分类列出相应类别图书(booklist.aspx),另一功能是当鼠标点击图书名称,或图片时显示图书的详细信息(bookdetail.aspx)。

4.2.1 图书分类功能实现     

图书分类功能在booklist.aspx页面实现。Booklist.aspx使用了datalist控件来显示图书信息。当Booklist.aspx页面加载时,文件接受从URL传递过来的参数categoryid,通过调用bookdb类中的getbook方法,并将信息与datalist绑定从而实现显示图书的功能。

4.2.2 图书详细信息显示功能:

图书详细信息显示功能在Bookdetail.aspx页面实现。Bookdetail.aspx当页面加载时,调用bookbd类的getbookdetail方法,获取相应编号的图书详细信息,并通过自定义book类将信息传递给页面的对应控件。其页面效果如下:

4.4 购物车模块设计

购物车主要用于保存当前用户所希望购买的书籍信息,其流程图如下:


                                                    

 

4.4.1购物车页面设计

购物车页面重要用到了一个Datagrid控件来显示购物车的信息。购物车中的信息包括图书编号,图书名称,作者,数量,单价,小记,移除。其中数量为一个textbox控件,用于显示图书数量,移除为一个checkbox控件用来标识是否删除。另外还有一个label控件当有错误时报错,一个label控件来显示总价钱,一个button控件用来更新,一个button控件用来提交页面效果如下:


4.4.2 购物车各功能的实现

(1)添加图书功能的实现:

Addtocart.aspx文件负责将制定id的图书添加到用户的购物车中,该文件仅执行添加信息操作,将图书编号,图书数量,购物车编号等信息写入到表Shoppingcart中。在添加图书到购物车时,首先判断该书籍是否以已经存在于购物车中,如果存在,则将该图书的数量加1,如果不存在则将该图书添加到购物车中。

Page_load事件首先获取URL传递过来的图书编号,判断图书是否为空,不为空则执行操作:

If Not (Request.Params("bookid") Is Nothing) Then

            Dim cart As New shoppingcartid

            Dim cartid As String = cart.getshoppingcartid()

            Dim cartdb As New shoppingcartdb

            cartdb.additem(cartid, Int32.Parse(Request.Params("bookid")), 1)

            End If

操作完成后将浏览器重定向到shoppingcart.aspx页面:

        Response.Redirect("shoppingcart.aspx")

这里自定义了一个shoppingcartid类和在shoppingcartdb类中添加了一个attitem方法Shoppingcartid类用于获取用户购物车id(如果登录则cartid为用户customerid,否则新建一个guid作为catid)。Additem方法向存储过程传递购物车编号,图书编号,图书数量3个参数,执行存储过程shoppingcartadditem从而将购物信息添加到购物车中。

存储过程shoppingcartadditem从程序接受购物车编号,图书编号以及图书数量三个参数,然后判断该id的图书是否在@cartid所对应的购物车中存在 如果存在则只更新图书数量,不存在则添加书籍信息到购物车。

(2)图书保存显示功能实现:

当shoppingcart.aspx首次加载时,将自动执行populateshoppingcartlist方法以显示购物车中的信息。Populateshoppingcartlist方法首先通过shoppingcart类中的getshoppingcartid方法得一购物车的id,然后调用shoppingcartdb类中的getitemcount方法判断该cartid的购物车的信息是否空,不空则调用shoppoingcartdb类中的getitem方法,根据cartid将数据库中的信息绑定到datalist以显示。

Sub populateshoppingcartlist()

Dim cart As New shoppingcartdb

Dim getcartid As New shoppingcartid

Dim cartid As String = getcartid.getshoppingcartid()

If cart.getitemcount(cartid) = 0 Then

detailspanel.Visible = False

Me.myerror.Text = "您的购物车无商品"

Else

mylist.DataSource = cart.getitems(cartid)

mylist.DataBind()

End If

Getitemgount方法调用并执行shoppingcartitemcount存储过程。该存储过程以@cartid为条件从shoppingcart表中选出bookid的总数并赋值与参数@itemcount并输出;getitem方法调用并执行shoppingcartlist存储过程。该存储过程以

book.bookid=shoppingcart.bookid and [email protected] 

为条件,从book表和shoppingcart表取出图书编号,图书名称,作者,数量,单价,并计算出一种图书的总价即小记的值。

(3)图书总价计算功能实现:

populateshoppingcartlist方法还通过调用shoppingcart的gettotal方法来获取购物车中的书籍的总价,gettotal方法向存储过程shoppingcarttotal传递参数购物车编号,调用该存储过程输出总价钱,然后显示在label控件上:

Me.labletotal.Text = String.Format ("{0: c}", cart.gettotal (cartid))

Gettotal方法调用并执行shoppingcattotal存储过程接收程序传递过来的参数@cartid并输出@totalcost,该存储过程以

book.bookid=shoppingcart.bookid 

And 

[email protected] 为条件,

从book表和shoppingcart表取出总价钱。在这里用到了sum函数

@totalcost=sum(book.bookcost*shoppingcart.quantity)

(4)图书数量更新功能实现:

     图书数量更新功能主要通过点击shoppingcart.aspx页面中的更新按钮调用自定义方法updateshoppingcartdatabase实现。

该方法定义了一个变量i,用循环以此更新datalist中的信息

Dim i As Integer

For i = 0 To mylist.Items.Count - 1

……

Next i

循环过程中,通过

Dim quantitytxt As TextBox =

CType(mylist.Items(i).FindControl("quantity"), TextBox)

获得对应组件的引用。然后quantity = Int32.Parse (quantitytxt.Text)获取当前值将quantity值与mylist.datakey(i)比较(quantity列为datefield)不一样则调用shoppingcartdb类中Updateitem方法更新购买图书数量

    Updateitem类调用并执行shoppingcartupdate存储过程实现更新功能。Shoppingcatupdate存储过程接收程序传递过来的购@cartid,@productid,@quantity三个参数,以[email protected] and [email protected]为条件,对shopingcart表的quantity列进行更新。

(5)图书移除功能实现

图书移除主要通过调用类shoppingcartdb的removeitem方法实现。这里用checkbox控件来标识是否移除该图书。该方法通过

Dim remove As CheckBox = 

CType(mylist.Items(i).FindControl("remove"), CheckBox)

获得对对应组件的引用。然后判断remove的checkbox值,如果为true则调用shoppingcartdb类中的Removeitem方法执行删除。Removeitem方法传递购物车编号,图书编号两个参数给存储过程并执行存储过程shoppingcartremoveitem。该存储存储过程接受程序传递过来的参数,以[email protected] and [email protected]为条件从shoppingcart表中删除相应的项。

(6)提交信息功能

当点击提交按钮时,判断购物车中信息是否为空,不空则交给checkout.aspx处理。这里主要调用了shoppingcatdb类的getitemcount方法。该方法调用并执行shoppingcartitemcount存储过程来对购物车中的信息进行判断。

    这样购物车功能全部实现。 

    当用户修改了购物车中的信息以后可以直接提交订单。在按钮提交订单的事件处理程序中,首先调用updateshoppingcartdatabase来更新购物车信息,然后重定向到checout.aspx页面,将控制权交给checkout.aspx文件

4.5 用户管理模块实现

用户管理模块主要实现两个功能:一个是用户登录,一个是用户注册。

4.5.1用户注册功能实现

如果网友希望购买图书,就必须首先是注册了的用户。本在线书店注册功能由register.aspx页面实现。Register位于表现层,自定义类custmerdb.vb文件位于数据访问层主要负责处理数据,位于数据存储层的为数据表customer。

Register.aspx页面设计较为简单,就是几个textbox控件来填写信息,一个button控件用来提交信息,同时也用到了数据校验控件确保输入信息有效。页面效果如下:


当点击提交按钮后,由于在注册前用户已经放一些图书在购物车中,在注册以后应该将登陆前的购物车的信息及时更新为注册会员的购物车信息。这个功能的实现主要调用自定义方法getshoppingcartid放来来实现。用户信息添加主要是调用类customerdb中的addcustomer方法实现。该方法调用并执行存储过程cutomeradd,将用户注册信息添加到数据库中并返回一个customerid。当用户注册成功之后,在调用shoppingcartdb中的migratecart方法将合并用户登陆前后的购物车。这样用户注册功能实现。

4.5.2用户登陆功能实现

     用户登录功能在login.aspx页面实现。Longin.aspx页面设计较为简单。一个lable控件用来显示错误信息,两个textbox控件填写用户的邮件地址,密码。并使用到了web数据校验控件。一个butonn控件来执行登录事件,一个hyperlink控件实现向注册页面的转换。其页面效果如图:

 

当按钮被点击后程序首先保存当前用户的购物车的编号,接着检验用户输入的登录信息是否正确。验证处理主要是调用类customerdb中的login方法实现。Login方法调用customerlogin存储过程,如果login返回值不为null,则用户登录成功。然后调用类shoppingcartdb中的migratecart方法,将登录前的购物车编号更新为当前用户id。Login返回值为null,则弹出需要用户先注册的信息。这样登录功能实现。

4.6 订单模块的实现

          订单模块主要包含两个功能,一个是订单的确认,一个是订单信息的查询。

4.6.1 订单的确认功能的实现

         用户确定了购物车中的信息以后提交订单checkout.aspx文件,该文件依据购物车中的信息构建订单并显示以供用户核查。用户核查完毕以后可以提交付款。

         Checkout.aspx页面设计与shopingcart.aspx页面基本相似,只是datagrid控件中少了移除一列,页面效果如下:

          

    当页面加载时,程序根据cartid将购物车中信息与datagrid绑定,并计算总价钱。这个功能的实现与购物车部分信息显示功能一样,这里不再详述。当点击提交按钮后,如果cartid不为空,则调用类orderdb中的palceorder方法,该方法执行并存储过程odersadd,将购物车中的信息添加到orders表中并返回oderid。然后便更新组件显示信息:

            Me.head.Text = "结帐完成"

            Me.message.Text = "<b>您的商品数位: </b>" + orderID.ToString()

            Me.submit.Visible = False

至此订单确认功能实现。

4.6.2 订单信息查看功能的实现

该功能主要包含两个页面,orderlist.aspx和oederdetails.aspx。前者显示用户庄户交易记录,后者显示订单的详细信息。

Orderlist.aspx页面主要用到一个datagrid控件,来显示订单的编号,日期,总和,出货日期,详细信息(为一个静态链接)其页面效果如下:

 

    该页面加载时根据当前用户的customerid,执行类orderdb中的getcustomerorders方法获得用户的所有订单信息,并将信息绑定到datagrid控件上:

 Dim customerID As [String] = User.Identity.Name

        Dim orderHistory As New orderdb

        MyList.DataSource = orderHistory.GetCustomerOrders(customerID)

        MyList.DataBind()

当点击详细信息,转到orderdetail.aspx页面。这样orderlist.aspx页面实现。订单详细信息页面布局如下:

 

当orderdetails.aspx页面加载时,根据oderid和customerid调用类ordersdb中的getorderdetails方法,该方法调用并执行存储过程oderdetails,获得订单的详细信息。然后将信息与datagrid控件绑定。并更新label信息:

Me.labletotal.Text = [String].Format("{0:c}", myOrderDetails.OrderTotal)

lblOrderNumber.Text = orderID.ToString()

lblOrderDate.Text = myOrderDetails.OrderDate.ToShortDateString()

lblShipDate.Text = myOrderDetails.ShipDate.ToShortDateString()

这样定点详细信息查看功能实现。

第五章 网站开发小结

   本设计实现了一个简单的在线书店购物系统,该系统是ASP.NET在电子商务方面的应用。本设计采用的三层机构开发,借助.NET平台使表现层,事务层和数据层三者有机结合。系统基本实现了一个在线书店用户管理,购物车管理,图书信息管理,订单处理四项基础功能,但在网站开发中仍有不足有待进一步改进。通过设计使自己对.NET框架结构,ADO.NET技术等有了更深的理解,同时也是自己对一个网站的开发流程有了较为清晰的了解。

 

参考文献

[1] 刘灿 郭常圳《VB.NET网络应用开发例学与实践》 清华大学出版社 2006.3

[2] 张智毅 《Visual Basic.NET + SQL Server数据库开发从基础到实践》

电子工业出版社 2006.3

[3] 纪多辙 刘万军《Visual Basic.NET程序设计实践教程》清华大学出版社

[4] 李兰友 李会山 《Visual Basic.NET应用教程(.net 2.0)》清华大学出版社2007.2

[5] 陈冠军《精通ASP.NET 2.0 企业级项目开发》人民邮电出版社 2007.2

[6] 陈冠军《精通ASP.NET 2.0 设计与实现典型模块》人民邮电出版社 2007.2

[7] 刘斌 张军《ASP.NET+SQL Server动态网站开发案例精选》2005.10

[8] 刘华 张琴《ASP.NET动态网页制作基础培训教程》2007.2

[9] 邓春妮 聂元铭《ASP.NET企业级开发案例精解》人民邮电出版社 2005.10

[10] 李明刚 肖建《ASP.NET Web站点高级编程范例》清华大学出版社 2004.2