第1章 网上购书信息管理系统

更新时间:2023-04-05 09:56:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章网上购书信息管理系统

1.1用户需求的分析

1.1.1任务描述

依据电子商务的特点与基本流程以及用户需求调查报告,通过理解需求阶段的目标,给业务上下文和系统功能建模,在完整的用例模型中记录系统需求,完成需求模型报告,最后依据需求模型报告进行产品需求规格说明书的撰写。

1.1.2任务分析

需求分析人员要按“初始、细化、构造与移交四步走”的路线,通过“以目标为基础、以用例为中心的三次迭代式需求分析”的过程来完成对用户需求的分析。

(1)第一次迭代(初始):学会进行项目目标分解、进行项目目标可研分析,构造提交项目目标模型,形成项目大纲。

(2)第二次迭代(细化):学会进行用例图建模,进行客户需求分析,构造提供软件功能模型,形成客户需求文档。

需求验证(移交):学会从需求类型与属性角度评估需求的质量,移交产品需求说明书

1.2网上购书业务流程

(1)用例模型

用例模型是系统既定功能及系统环境的模型,它可以作为客户和开发人员之间的契约。用例是贯穿整个系统开发的一条主线。一个用例模型包括了系统的所有用例,它是系统所有可能用途的总和。

蓝星网上购书信息管理系统用例一览表如表1-1所示:

(2)

业务对象模型

目标

角色

F G 1:目录管理

F G 2:图书管理

F G 3:购物车管理

F G 4:订单管理

F G 5:支付管理

F G 6:会员管理

管理员

F G 1:U C 1:目录

创建

F G 1:U C 2:目录编辑

F G 1:U C 3:目录

F G 2:U C 1:图书入库

F G 2:U C 2:图书出库

F G 2:U C 3:图书

F G 4:U C 3:订单状态编辑

F G 4:U C 4:订单信息查看

F G 6:U C 1:会员注册

F G 6:U C 2:会员撤销

会员

F G 1:U C 4:目录查看

F G 2:U C 5:图书概要信息查看

F G 2:U C 5:图书详细信息查看

F G 3:U C 1:购物车图书添加

F G 3:U C 2:购物车图书计价

F G 3:U C

F G 4:U C 1:订单生成

F G 4:U C 2:个人订单信息查看

F G 5:U C 1:信用卡支付

F G 6:U C 3:个人资料修改

F G 6:U C 4:会员登陆

游客

F G 1:U C 4:目录查看

F G 2:U C 5:图书概要信息查看

F G 6:U C 1:会员注册

银行账户处理

F G 5:U C 2:转账

1.2.1撰写需求规格说明书

《产品需求规格说明书》的重点是阐述“做什么”,而不是阐述“怎么做”。《产品需求规格说明书》应当正确、清楚、无二义性、一致、完备、可实现以及可验证。

“正确”是《产品需求规格说明书》最重要的属性。真正的困难是开发者和用户自己都不明白用户究竟“想要什么”和“不要什么”。为确保需求是正确的,开发方和用户必须对《需求规格说明书》进行确认;清楚的需求让人易读易懂,不在于文档的厚度;

“无二义性”是指每个需求只有唯一的含义。如果一个人说的话,不同的人可能有不同的理解,那么这句话就有二义性。如果需求存在二义性,将会导致人们误解需求而开发出偏离需求的产品。为了使需求无二义性,人们在写《产品需求规格说明书》时措词应当准确,切勿模棱两可。

“一致”(C o n s i s t e n t)是指《产品需求规格说明书》中各个需求之间不会发生矛盾。矛盾常常潜伏在需求文档的上下文中。“完备”(C o mp l e t e)是指《产品需求规格说明书》中没有遗漏一些必要的需求。人们往往倾向于关注系统的特色功能,而忽视了其它一些不起眼的但却是必需的功能。

“可实现”意味着在技术上是可行的,并且满足时间、费用、质量等约束。经过双方确认的《产品需求规格说明书》相当于商业合同,如果开发方不能够实现《产品需求规格说明书》中的内容,那就是违约,可能会被罚款

的。《产品需求规格说明书》中的各项需求对用户方而言应当都是可验证的(Ve r i f i a b l e)。如果需求是不可验证的,那么用户就无法验收软件,可能会发生商业纠纷。

二章系统设计

软件构架是指一个系统的基础组织,具体体现在系统的组成构件,构件之间、构件和环境之间的关系,以及指导其设计和演化的原则上。

2.1任务描述

设计蓝星网上购书信息管理系统构架

2.2任务分析

R U P的整个分析与设计过程如下图所示,其中A r c h i t e c t即为软件架构师角色,从下图中可见系统架构从分析到设计的全部活动。

图1-8系统架构分析与设计活动

2.3安全策略

网上书店的实施,其关键是要保证整个商务过程中系统的安全性。

实现网上书店的关键是要保证商务活动过程中系统的安全性,即保证基于互连网的电子交易过程与传统交易的方式一样安全可靠。

1.密码技术

采用M D5加密。

2.访问控制

采用授权策略和机制。保护可以从以下几个方面加以考虑:物理隔离、时间隔离、密码隔离。

3.防火墙技术

采用分组过滤防火墙技术。

2.3.1并发策略

1.对于业务数据低级并发控制由数据库事务和线程监视器自动管理,对业务服务的每一次使用都封装在一个事务中,以正确传送给数据库管理系统。

2.会员不可以重复登录,只能登录一次

3.在脱线状态下更新数据库数据,在凌晨使更新真正生效

三章子系统设计

3.1任务描述

完成蓝星网上购书信息管理系统子系统设计,包括类的设计、用例具体实现、用户界面设计以及数据库设计。

3.2任务分析

通过子系统设计将形成一个可用的、完整的解决方案,并且能够比较容易地将方案转换成程序代码。该任务在.N E T标准三层系统架构的基础上,将考虑所有的实现技术问题,对分析阶段的模型进行扩展和细化,并对分析阶段定义的类进一步扩充,定义新的类来处理技术方面的问题,最终形成最后的解决方案。

(一)遵循类的设计原则:

开闭原则:对扩展开放而对变更封闭;

依赖倒置原则:依赖抽象类而非具体类;

L i s k o v替换原则:子类应当能完全替代其基类;

单一职责原则:一个类只应当承担单一和集中的职责,这样引发类进行变更的原因只有一个;

接口分离原则:为客户提供多个物定的接口好过一个多种用途集于一身的接口,即客户不被强制依赖于其不需要的操作;

组合复用原则:尽可能地使用对象的多态组合而非继承来实现复用

所知最少原则:一个类的操作实现中,只应调用下列对象的操作:它自己、作为参数传入的对象、它创建的对象、它包含的对象。

(二)实现系统用例

实现系统用例的方式通常显示出用例如何通过一系列协作类进行实现,这是系统内部行为的模型,它可以用两个U M L 工件来描述:实现类图和顺序图。

(四)数据库设计

面向对象的数据库设计是从对象模型出发的,属于实体主导型设计,数据库设计(模式)是否支持应用系统的对象模型,这是判断是否是面向对象数据库系统的基本出发点。由于应用系统设计在前,数据库设计随后,所以应用系统对象模型向数据库模式的映射是面向对象数据库设计的关键。

3.3类的列表

C a r t M a n a g e r:

字段名称类型说明

包类名说明

We b

D e f a u l t前台首面页面类

B o o k B r i e f前台图书概要页面

I t e m前台图书详情页面

S h o p p i n g C a r t前台购物车页面类

C h e c k O u t前台订单页面类

U s e r P r o f i l e前台个人设置页面

S e a r c h前台图书检索页面

R e g i s t e r前台会员注册页面

a d m i n D e f a u l t后台首页页面类

C a t e g o r y后台目录管理页面

B o o k后台图书管理页面

O r d e r订单管理页面类

L o g i n后台登录页面类

表1-13类的列表

3.3.1用例具体实现示例--购物车图书添加(放入图书到购物车):

图1-14购物车图书添加序列图

3.3.3数据库设计

如在任务分析中所述,面向对象的数据库设计是从对象模型出发的,属于实体主导型设计,我们由如下图所示之业务实体出发完成向数据库概念模型的映射。

A S P.N E T自动生成的数据表:

章 网站母版页及设计 4.1 任务分析

网站W E B 对应表示层,主要应包含网页页面、用户控件等,类库B L L 中包含所有业务逻辑层中的类,类库D A L 中包含所有数据访问层中的类,类库M o d e l 中则包含所有业务实体类,类库C O M M O N 包含公共类。各项目中详细内容可参见第四节子系统设计中的类的列表。如果一个类库中的类要调用另一个类库中的类,则要在该类库中添加对另一个类库的引用。

在设计母版页时则要注意,母版页是一个页面模板,包含的是页面的公共部分,因此,在创建母版页之前,必须判断哪些内容是页面的公共部分,比较常见的公共部分通常有片头、页脚、功能侧栏等。

单独的母版页只是一个页面模板,它不能在浏览器中被打开,只有将其应用到具体的某个内容页上,在浏览器中访问该内容页,其才能发挥作用。 站点地图的扩展名为.s i t e ma p ,是A S P 2.0及A S P 3.5提供的为站点导航控件--如本项目中使用的S i t e M a p P a t h 控件提供站点的层次结构信息的标准X M L 文件。

4.1.1 在解决方案中依次创建网站及类库B L L 、 D A L 、类库M o d e l 、类库C o m mo n ,解决方案创建完成如下图所示:

表名

说明

a s p n e t _A p p l i c a t i o n s 应用程序的基本信息:程序名、程序描述a s p n e t _M e m

b e r s h i p 用户的详细信息:用户名、邮箱等 a s p n e t _P a t h s

应用程序路径信息

a s p n e t _P e r s o n a l i z a t i o n A l l U s e r 存储所有用户的个性化信息 a s p n e t _P e r s o n a l i z a t i o n P e r U s e r 存储特定用户的个性化信息 a s p n e t _P r o f i l e 个性化配置的内容 a s p n e t _R o l e s

角色表

a s p n e t _S c h e m a V e r s i o n s 各部分的版本信息 a s p n e t _U s e r s

用户表

a s p n e t _U s e r s I n R o l e s 用户与角色的关系表 a s p n e t _W e

b E v e n t _E v e n t s

存储事件日志信息

图1-33完整的解决方案

4.1.2在类库M o d e l中创建业务实体类

1.图书目录实体类C a t e g o r y I n f o

2.图书概要实体类B o o k B r i e f I n f o

3.图书详情实体类I t e m I n f o

4.购物车实体类C a r t I n f o

5.订单类O r d e r s I n f o

6.订单明细类L i n e I t e m I n f o

7.地址类A d d r e s s I n f o

4.2在类库C o m m o n中创建公共类数据库连接类D a t a B a s e

主要方法:

///

///对数据库进行增删改方法

///

///

S q l C o m m a n d对象的命令类型

///

S q l C o m ma n d对象的文本

///

S q l C o m m a n d对象的参数

///

p u b l i c v o i d E x c u t e N o n Q u e r y(C o m ma n d Ty p e c t,s t r i n g c m d T x t, S q l P a r a m e t e r[]c md P a r m s)//对数据库进行增删改方法

{

S q l C o m m a n d c m d=n e w S q l C o m m a n d();

t h i s.P r e p a r e c o m m a n d(c md,c t,c m d T x t,c m d P a r m s);

c md.E x e c u t e N o n Q u e r y();

c md.P a r a m e t e r s.C l e a r();

t h i s.C l o s e();

}…

///

///读取数据

///

///

S q l C o m m a n d对象的命令类型

///

S q l C o m ma n d对象的文本

///

S q l C o m m a n d对象的参数

///

p u b l i c S q l D a t a R e a d e r E x c u t e D a t a R e a d e r(C o m m a n d Ty p e c t,s t r i n g c md T x t,S q l P a r a m e t e r[]c m d P a r m s)//读取数据

{

S q l C o m m a n d c m d=n e w S q l C o m m a n d();

t h i s.P r e p a r e c o m m a n d(c md,c t,c m d T x t,c m d P a r m s);

r e t u r n

c md.E x e c u t e R e a

d

e r(C o m ma n d B e h a v i o r.C l o s e C o n n e c t i o n);

}

4.2.1设计解决方案中网站We b的母版页

母版页效果图:

图1-34母版页组成

4.3M a s t e r P a g e.m a s t e r.c s代码实现

母版页中有登录框,和登录注销按钮,以及用来绑定图书类别信息的R e p e a t e r 控件,所以我们首要介绍.N E T身份验证以及R e p e a t e r控件应用的相关知识。

1.相关知识一:F o r m s身份验证凭据

F o r m s A u t h e n t i c a t i o n类:为We b应用程序管理F o r m s身份验证服务,用于在登录时验证用户的F o r m s身份验证凭据,可以存储在外部数据源中,也可以存储在应用程序的配置文件中。

可通过将a u t h e n t i c a t i o n配置元素的m o d e属性设置为F o r m s来启用F o r m s身份验证。通过使用a u t h o r i z a t i o n配置元素可要求所有对应用程序的请求均需包含有效的用户身份验证票证,从而拒绝任何未知用户的请求。

本项目在w e b.c o n f i g文件中将a u t h e n t i c a t i o n配置元素的m o d e属性设置为F o r m s来启用F o r m s身份验证的代码:

在本项目中设身份验证的默认页面为首页"D e f a u l t.a s p x",由于网站前台页面允许匿名用户浏览图书信息,所以将保护p r o t e c t i o n属性设为"N o n e",对需要身份验证后才能访问的页面如购物车订单页面、修改会员个人资料页面等,采用增加l o c a t i o n配置节来实现要求用户请求需包含有效的用户身份验证票证,从而拒绝任何未知用户的请求,在We b.c o n f i g文件的配置节中增加如下代码

//拒绝任何未知用户的请求

2.相关知识二: A S P.N E T 成员资格

.N E T为您提供了一种验证和存储用户凭据的内置方法--A S P.N E T 成员资格,它可帮助您管理网站中的用户身份验证。

A S P.N E T 成员资格支持下列功能:

创建新用户和密码。

将成员资格信息(用户名、密码和支持数据)存储在M i c r o s o f t S Q L S e r v e r、A c t i v e D i r e c t o r y或其他数据存储区。

对访问站点的用户进行身份验证。可以以编程方式验证用户,也可以使用A S P.N E T 登录控件创建一个只需很少代码或无需代码的完整身份验证系统。管理密码,包括创建、更改和重置密码。根据您选择的成员资格选项不同,成员资格系统还可以提供一个使用用户提供的问题和答案的自动密码重置系统。

公开经过身份验证的用户的唯一标识,您可以在您自己的应用程序中使用该标识,也可以将该标识与A S P.N E T个性化设置和角色管理(授权)系统集成。

指定自定义成员资格提供程序,这使您可以改为用自己的代码管理成员资格及在自定义数据存储区中维护成员资格数据

4.3.1F o r m s A u t h e n t i c a t i o n类与M e mb e r s h i p类在M a s t e r P a g e.m a s t e r.c s中的应用

//用户登录

p r o t e c t e d v o i d i b t n L o g i n_C l i c k(o b j e c t s e n d e r,I m a g e C l i c k E v e n t A rg s e)

{

i f(M e m b e r s h i p.Va l i d a t e U s e r(t x t U s e r N a m e.Te x t,t x t P a s s w o r d.Te x t))

{

F o r m s A u t h e n t i c a t i o n.R e d i r e c t F r o m L o g i n P a g e(t x t U s e r N a me.Te x t,f a l s e);

}

}

//登录注销

p r o t e c t e d v o i d l o g o u t_C l i c k(o b j e c t s e n d e r,E v e n t A rg s e)

{

F o r m s A u t h e n t i c a t i o n.S i g n O u t();

R e s p o n s e.R e d i r e c t("D e f a u l t.a s p x");

}

成员资格信息(用户名、密码和支持数据)存储位置

.N E T F r a m e w o r k默认的成员资格提供程序为A s p N e t S q l P r o v i d e r,它将用户信息存储在.N E T自带的S Q L数据库—A S P N E T D B.M D F中,如果我们要把用户信息存储在我们自定义的S Q L数据库中,则需要在w e b.c o n f i g文件配置节中进行如下配置:

t y p e="S y s t e m.We b.S e c u r i t y.S q l M e m b e r s h i p P r o v i d e r"

c o n n e c t i o n St r i n g N a m e="C V I T B O O KS H O P C o n n e c t i o n S t r i n g"

e n a b l e P a s s w o r d R e t r i e v a l="

f a l s e"

e n a b l e P a s s w o r d R e s e t="t r u e"

r e q u i r e s Q u e s t i o n A n d A n s w e r="t r u e"

p a s s w o r d F o r m a t="H a s h e d"

a p p l i c a t i o n N a m e="/"/>

除此之外,还要运行A S P.N E T S Q L S e r v e r安装向导-a s p n e t_r e g s q l.e x e,该工具所在的路径为c:\W I N D O W S\M i c r o s o f t.N E T\F r a m e w o r k\v2.0.50727\,在我们自定义的数据库中创建成员资格的数据表和存储过程等。

图1-37A S P.N E T S Q L S e r v e r安装向导

4.3.2为网站We b设置主题

主题是属性设置的集合可以用来定义页面和控件的外观,您可以定义单个We b应用程序的主题,也可以定义供We b服务器上的所有应用程序使用的全局主题。定义主题之后,可以使用@P a g e指令的T h e me或St y l e S h e e t T h e me属性将该主题放置在个别页上;或者通过设置应用程序配置文件中的p a g e s元素(A S P.N E T 设置架构)元素,将其应用于应用程序中的所有页。如果在M a c h i n e.c o n f i g文件中定义了p a g e s元素(A S P.N E T 设置架构)元素,主题将应用于服务器上的We b应用程序中的所有页。

主题由外观、级联样式表(C S S)、图像和其他资源元素组成,一个主题至少

要包含外观文件。

外观文件的文件扩展名为.s k i n,它用来定义页面中服务器控件的外观。

级联样式表扩展名为.c s s,C S S是C a s c a d i n g S t y l e S h e e t s(层叠样式表)的简称。在标准网页设计中用来负责网页内容(X H T M L)的表现.

主题还可以包含图形和其他资源,比如脚本文件或声音文件。

图1-39外观文件及样式文件

S k i n F i l e.s k i n文件代码示例:

F o n t-U n d e r l i n e="f a l s e">

在上面的外观文件中,为H y p e r L i n k控件和L a b e l控件设置了外观,这种设置属于“默认外观”,也就是说这两种控件的外观适用于应用本主题的页面上的所有的H y p e r L i n k控件和L a b e l控件。

如果要想为应用程序中同一类型的控件的不同实例应用不同的外观,就要设置“已命名外观”,要在外观文件中为设置的控件指定“S k i n I D”属性:

F o n t-U n d e r l i n e="f a l s e">

F o n t-S i z e="S m a l l">

已命名外观不会自动适用于同类型的所有控件,而是在应用主题的页面控件上通过设置该控件的S k i n I D属性(如S k i n I D=”h l D i f f”)将已命名外观应用于控件。

应用主题

本项目中所有的网页均应用同一主题,这需要如下设置w e b.c o n f i g文件中的p a g e s配置节。

如果只是在单个页面应用主题,那需要在该页的页面头部的<%@P a g e%>中做如下设置

<%@P a g e L a n g u a g e="C#"…(略)S t y l e s h e e t T h e me=”m y t h e me”%>

1.5.10创建站点地图

在解决方案资源管理器中右击网站We b,选择“添加新项”,在弹出的对话框的模板窗格中选择“站点地图”。

代码清单如下:

d e s c r i p t i o n=""/>

d e s c r i p t i o n=""/>

d e s c r i p t i o n=""/>

d e s c r i p t i o n=""/>

d e s c r i p t i o n=""/>

d e s c r i p t i o n="">

d e s c r i p t i o n=""/>

五章前台图书信息浏览、检索实现

5.1任务描述

此模块使用网站的访问者可以匿名浏览图书概要信息、图书详情信息,或者进行图书检索。

前台图书信息浏览、检索实现包括以下几个方面:

1.首页对图书信息分三个栏目进行显示,这三个栏目分别是:新书上架、热

点推荐、经典书目

2.可以按照栏目或图书类别查看图书概要信息

3.查看图书详情信息

4.设置复合条件完成图书检索

5.2任务分析

(一)首页对图书信息分新书上架、热点推荐、经典书目三个栏目进行显示,按照图书的添加时间排序,分别显示前四位图书,按三个栏目显示图书的差别只是栏目条件不同,这也就意味着对不同栏目的前四位图书的显示要重复三次,我们是将绝大部分雷同的代码复制粘贴三次,还是定义一个用户控件调用三次,显然应该选择后者。

(二)可以按照栏目或图书类别查看图书概要信息,如前面所述按三个栏目显示图书的差别只是栏目条件不同,同理,按图书类别显示图书只是类别编号不同。

在完成任务时数据源我们使用S q l D a t a S o r u c e控件,如果我们将不同的查询条件定义成参数,使用时传不同的值过去,就会非常灵活的实现按照栏目或图书类别查看图书概要信息,实际上我们是通过定义一个存储过程来帮助实现该功能。

(三)复合条件查询的关键是按照用户选定的条件动态生成S Q L语句,我们在公共类类库中编写S q l S t r i n g C o n s t r u c t o r类来完成对S Q L语句的构造。

5.3首页分栏目显示图书信息

1.效果图

2. D e f a u l t.a s p x 页面中主要控件及其用途

1-32 D e f a u l t.a s p x 页面中主要控件及其用途

3.相关知识:使用We b 用户控件显示栏目图书信息

如任务分析中所述,我们要把对栏目前四位图书的显示通过定义一个用户控件来实现,然后在首页面中三次调用该控件。

用户控件是能够在其中放置标记和 We b 服务器控件的容器。然后,可以将用户控件作为一个单元对待,为其定义属性和方法。

控件类型

控件名称

用途

D l B o o k.a s c x

D l B o o k

显示“新书上架”栏目信息

D l H o t

显示“热点推荐”栏目信息

D l C l a s s i c

显示“经典书目”栏目信息

S q l D a t a S o u r c e

S q l d s B o o k

“新书上架”数据源 S q l d s H o t

“热点推荐”数据源 S q l d s C l a s s i c

“经典书目”数据源

A S P.N E T We b用户控件与完整的A S P.N E T 网页(.a s p x文件)相似,同时具有用户界面页和代码。可以采取与创建A S P.N E T 页相似的方式创建用户控件,然后向其中添加所需的标记和子控件。用户控件可以像页面一样包含对其内容进行操作(包括执行数据绑定等任务)的代码。用户控件与A S P.N E T 网页有以下区别:

用户控件的文件扩展名为.a s c x。

用户控件中没有@ P a g e指令,而是包含@ C o n t r o l指令,该指令对配置及其他属性进行定义。

用户控件不能作为独立文件运行。而必须像处理任何控件一样,将它们添加到A S P.N E T 页中。用户控件中没有h t m l、b o d y或f o r m元素。这些元素必须位于宿主页中。

4.创建D l B o o k.a s c x

我们将创建用户控件D l B o o k.a s c x,并在其中放置绑定数据源的控件D a t a L i s t,该D a t a L i s t控件用于显示栏目前四位的图书:

在解决方案资源管理器中右击网站We b,选择“新建文件夹”项,将文件夹命名为U s e r C t r l。

右击文件夹U s e r C t r l,选择“添加新项”菜单项,在弹出的对话框的模板窗格选择“We b用户控件”,将控件命名为“D l B o o k.a s c x”,点“确定”按钮创建该控件。

5.在首页中应用母版页及用户控件

(1)应用母版页:在网站We b中添加新项,模板类型选择We b窗体,命名为D e f a u l t.a s p x,勾选“选择母版页”复选框,在弹出的“选择母版页”对话框中选择M a s t e r P a g e.m a s t e r。点击“确定”按钮。

图1-41勾选“选择母版页”

图1-42选择母版页

(2)应用We b用户控件:切换到首页的设计视图,在解决方案资源管理器里将U s e r C t r l文件中的D l B o o k.a s c x控件拖放到首页的相应位置,在本实例中应拖放三次,用来显示三个栏目的前四位图书信息。

拖放完成后将在页面自动生成<%@R e g i s t e r s r c="U s e r C t r l/D l B o o k.a s c x" t a g n a m e="D l B o o k"t a g p r e f i x="u c1"%>及等,如果不用拖放的方法,也可以直接在源视图中将上面生成的语句添加到H T M L代码中,以完成We b用户控件的调用。

(3)从工具箱拖放三个S q l D a t a S o u r c e控件做为数据源备用。

6.D e f a u l t.a s p x.c s代码实现

p r o t e c t e d v o i d P a g e_L o a d(o b j e c t s e n d e r,E v e n t A rg s e)

{

i f(!I s P o s t B a c k)

{

D l B o o k.S q l d s=S q l d s B o o k;//绑定数据源为新书上架栏目信息

D l H o t.S q l d s=S q l d s H o t;//绑定数据源为热点推荐栏目信息

D l C l a s s i c.S q l d s=S q l d s C l a s s i c;//绑定数据源为经典书目信息

//D e f a u l t.a s p x是默认的登录页,当匿名用户访问需要身份验证的网页时,会自动跳转到该页登录,使用以下代码片断显示要求登录的提示信息i f(R e q u e s t.U r l.A b s o l u t e U r i.To St r i n g().C o n t a i n s("R e t u r n U r l")&& R e q u e s t.U r l.A b s o l u t e U r i.To S t r i n g().C o n t a i n s("a d m i n"))

t h i s.C l i e n t S c r i p t.R e g i s t e r S t a r t u p S c r i p t(t h i s.G e t Ty p e(),"", "w i n d o w.a l e r t('您尚未以管理员身份登陆,请登陆后进行此操作!')");

e l s e i

f (R e q u e s t.U r l.A b s o l u t e U r i.To S t r i n g().C o n t a i n s("R e t u r n U r l"))

{

t h i s.C l i e n t S c r i p t.R e g i s t e r St a r t u p S c r i p t(t h i s.G e t Ty p e(),"", "w i n d o w.a l e r t('您尚未以会员身份登陆,请登陆后进行此操作!')");

}

}

}

5.4按栏目或者图书类别显示图书概要信息

1.图书概要页B o o k B r e i f效果图

图1-43图书概要页B o o k B r i e f.a s p x

2.B o o kB r i e f.a s p x页面中各个控件的属性设置及其用途

本文来源:https://www.bwwdw.com/article/17hl.html

Top