///
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 用户控件显示栏目图书信息
如任务分析中所述,我们要把对栏目前四位图书的显示通过定义一个用户控件来实现,然后在首页面中三次调用该控件。
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育第1章 网上购书信息管理系统(2)全文阅读和word下载服务。
相关推荐: