《ASPNET开发大全第29章制作一个ASPNET校友录系统(1).docx》由会员分享,可在线阅读,更多相关《ASPNET开发大全第29章制作一个ASPNET校友录系统(1).docx(69页珍藏版)》请在三一办公上搜索。
1、ASPNET开发大全第29章制作一个ASPNET校友录系统第29章 制作一个ASP.NET校友录系统 在现在的网络应用中,用户是网络应用的中心,如现今最风靡的校内网都是把用户放到了网络应用的第一位。而校内网的成功和风靡在很大程度上是因为它是一个真实的社交网络,校友录系统也是利用了真实的社交网络进行设计和开发的。 29.1 系统设计 在编写校友录系统前,首先需要确定校友录系统所需要的一些功能模块和适用场景,例如校友录是以何种形式呈现给用户的,如何判断这个用户是不是一个真实的用户等等,这些功能都是需要在开发初级进行设计和规划的。 29.1.1 需求分析 在上一章ASP.NET留言本中,通过一个简单
2、的ASP.NET留言本项目对需求分析进行介绍,需求分析是在系统设计中一个最为重要的组成部分,良好的需求分析设计能够极大的方便在后续过程中的软件开发以及软件维护。 1目录 需求分析通常情况下是一个单独的需求分析文档,为了模拟在软件开发过程中的顺序,以及软件开发的步骤,这里模拟基本的需求分析文档并为相关的部分进行描述。 q 1. 引言:通常是需求分析文档的引言,用户描述为何编写需求分析文档。 q 1.1 编写目的:编写目的用户描述为何编写需求分析文档。 q 1.2 项目背景:编写相应的项目背景。 q 1.3 定义缩写词和符号:编写在需求分析文档中定义的缩写词或符号等。 q 1.4 参考资料:用户描
3、述在需求分析文档中所参考的资料。 q 2. 任务描述:定义任务,通常情况下用于描述完成何种任务。 q 2.1 开发目标:定义开发目标,包括为何要进行开发。 q 2.2 应用目标:定义应用目标,包括系统应用人员要实现什么功能,以及有哪些应用等。 q 2.3 软件环境:用于定义软件运行的环境。 q 3. 数据描述:用户进行数据库中数据设计开发的描述。 对于需求分析文档而言,其格式很像论文或软件开发说明书,所以在需求分析文档前通常会有一个目录方便客户和开发人员进行文档的阅读。上述目录描述了引言、编写文档的目录、项目背景等,当客户进行文档的翻阅时可以很方便的进行文档的查询。 2引言 对于ASP.NET
4、校友录系统而言,其作用是为了增加同学之间的友情,在需求分析文档的引言部分可以简单的编写为何要开发该系统以及相应的背景。引言编写如下所示: 随着互联网的发展,越来越多的交流社区应用被广泛的接受,这些社区的存在都是为了能够加强人与人之间的交流。在针对现有的系统进行调查,拟开发一套校友录系统进行校友联络,这样不仅方便校友之间的联络,也能够加强老校友和新校友的感情。 此规格说明书在详细的调查了客户现有的应用模块和基本的操作流程后进行编写,对校友录系统以及其功能进行了详细的规划、设计,明确了软件开发中应具有的功能、性能使得系统的开发人员和维护人员能够详细清楚的了解软件是如何开发和进行维护的,并在此基础上
5、进一步提出概要设计说明书和完成后续设计与开发工作。本规格说明书的预期读者包括客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员等。 3项目背景 由于互联网的迅猛发展,越来越多的用户希望在互联网上能够即时的,快速的与家人或朋友进行联络,相对于传统的C/S模式的软件开发而言,其成本较高、难以维护,虽然能够即时的与家人和朋友发送消息,但是无法与家人和朋友分享生活和照片等。 而由于互联网的发展,越来越多的用户已经能够适应基于浏览器的应用程序,即Web应用,也有越来越多的用户尝试在Web服务上进行自己的应用,包括QQ空间、博客、个人日志等,都是基于浏览器的应用程序。 为了解决C/S模式的应
6、用程序中日志、照片、音乐等难以交互的情况,现开发ASP.NET校友录系统用于进行校友之间的交流和通信,方便校友与校友之间进行通信。校友与校友之间不仅能够分享日志,还能够进行身边信息的分享,这样就加强了人与人之间的交互。 4任务描述 任务描述用于描述客户的任务,以及基本的讲述如何完成任务的描述,ASP.NET校友录系统的任务描述可以编写为如下所示: 为了解决传统的C/S应用程序中程序的信息交互不够的问题,并加强用户与用户之间的信息交互,现开发基于.NET平台的校友录应用程序,用户能够使用校友录进行信息的通信和分享,不仅能够加强校友与校友之间的感情,也能够增强现有的社交。 5开发目标 ASP.NE
7、T校友录系统的开发目标是为了加强现有的用户和用户之间的信息交互,解决传统的用户和用户沟通不便和沟通内容不够丰富的问题,进行用户和用户之间的数据整合和交互。 开发ASP.NET校友录系统可以为现有学校所使用,也可以被班级或个人进行使用,适用性广泛,不仅能够在大型应用中使用,同样也能够适用于小型应用。 6应用目标 ASP.NET校友录是为了能够让校友之间进行真实的交互,用于加强校友与校友之间的感情,同时也能够收集校友的信息。 29.1.2 系统功能设计 ASP.NET校友录是学校内的一个交流平台,用于校友与校友之间的信息交互,校友能够在校友录系统进行注册,注册完毕后管理员审核相应的用户并进行相应的
8、用户操作,当用户的审核通过后,用户就能够在校友录中进行新鲜事的分享。在ASP.NET校友录系统的开发过程中需要确定基本的系统功能,这些基本的系统功能包括如下: 1用户注册功能 692 当用户访问Web页面时需要进行注册,如果用户不进行注册就不能够发表和回复留言,也不能够分享相应的信息。管理员可以配置是否需要进行登录才能够查看校友录的内容,如果管理员设置需要登录查看,则用户不登录就不能够查看相应的内容。 2用户登录功能 用户注册之后就需要实现用户的登录,登录的用户可以进行信息的发表、回复以及相应内容的分享。登录的用户的操作也会被记录在日志中,用户可以通过自己的ID进行校友录中的功能或文章的索引。
9、 3用户日志功能 用户注册和登录后就能够在校友录中进行日志分享,发表关于自己觉得的最新事件,其他人能够查阅该日志并进行相应的日志操作。 4用户留言功能 用户可以查看校友录中日志并进行相应的评论,不仅如此,用户还能够在回复中发布表情,进行文字处理等操作让留言功能更加丰富,用户还能够在校友录系统中对校友录的日志进行评分。 5管理员审核功能 当用户注册后,需要对用户进行身份的审核,管理员可以审核已知的用户的身份,如果用户不是校友录系统的指定用户,则管理员可以不允许用户进行身份验证和登录,以确保校友录系统中的用户的身份都是真实的。 6文章管理功能 管理员需要对校友发布的相应的信息进行管理,如果校友发布
10、了反动、黄色、淫秽等文章,管理员有权进行修改、屏蔽和删除等操作。 7留言管理功能 管理员需要对校友发布的相应的留言进行管理,如果校友发布了反动、黄色、淫秽或广告的留言,管理员可以进行相应的留言的删除操作。 8用户管理功能 当用户进行了非法操作或者用户注册后发布了太多的反动、黄色、淫秽等内容,管理员可以将用户进行删除,在删除的同时系统数据库中的数据也会被删除。 9板报/公告等功能 管理员在校友录系统中还可以进行板报、公告等发布和管理,让页面看上去更像学生时代课堂的样子,这样提高了用户友好度也能够及时的将相应的信息反馈给校友,以便校友能够获取该校友录活动等最新消息。 29.1.3 模块功能划分 A
11、SP.NET校友录系统中的模块非常的多,这些模块包含最基本的注册、登录等模块,还包括文章管理、用户管理、用户管理等模块,这些模块都在不同程度上进行系统的协调。当介绍了系统所需实现的功能模块后并执行了相应的功能模块的划分和功能设计,可以编写相应的模块操作流程和绘制模块图,ASP.NET校友录总体模块划分如图29-1所示。 图29-1描述了ASP.NET校友录系统的总体的模块划分,用户在校友录系统中需要进行注册登录等操作。对于用户而言,用户在ASP.NET校友录中必须要进行注册和登录操作,如果用户不进行登录操693 作就无法进行ASP.NET校友录中校友的信息的查看,ASP.NET校友录中用户的模
12、块流程图如图29-2所示。 图29-1 ASP.NET校友录系统模块划分 图29-2 用户登录模块流程图 用户访问Web应用并能够在Web应用中进行注册,在用户注册后,并不能够立即进行相应的操作,如果用户没有被管理员审核,那么用户只能对校友录中的数据和信息进行查看,并不能进行修改等操作,如果管理员对用户进行了身份审核并通过相应的用户,则说明用户是一个可以被认为是真实的用户,那么用户就能够执行相应操作。 对于管理员而言,管理员不仅能够作为用户的一部分进行用户的活动,包括编写日志等,还应该具备管理功能,这些管理功能包括用户的审核、帖子的审核和用户的管理等等,管理员模块流程图如图29-3所示。 图2
13、9-3 管理员模块流程图 正如图29-3所示,管理员在进行操作时同样需要对管理员进行身份验证,由于管理员也是用户的一部分,所以在进入后台管理时,需要判断用户是否有该权限进行管理,如果没有就不允许用户进行操作,如果有管理权限,管理员就能够在后台进行相应的管理操作。 694 对管理员进行身份验证后,管理员主要进行两大块管理,一个是用户管理,另一个是信息管理。对于用户管理而言,管理员主要是进行用户的删除、积分等操作,而对于信息管理而言,主要是用于不良的日志、评论进行修改和删除管理。 注意:由于管理员是用户的一部分,而一个校友录可以有多个管理员,这些管理员可以是用户,所以在数据库设计中需要额外的字段进
14、行描述。 29.2 数据库设计 ASP.NET校友录比ASP.NET留言本更加的复杂,在数据库设计上也更加复杂,不同的表之间还包含着连接。在这些数据表中,单个表或多个表都用来描述校友录的相应功能,在数据库设计中,还需要考虑到数据的约束和完整性约束以便数据库的维护。 29.2.1 数据库分析和设计 在前面的系统设计中已经非常仔细对功能和模块进行划分并对相应的用户进行了模块流程分析,在进行了模块划分和流程分析后就能够对数据库进行设计。从模块中可以看出ASP.NET校友录包含了更多的功能,这些功能都能够让校友用户在网站上分享自己的照片、音乐、视频等,所以在数据库的设计上,其表的数量和表与表之间的关系
15、也比原有的模块或系统更加复杂。针对现有的模块以及模块流程图可以归纳数据库中相应的表,数据库设计图如图29-4所示。 图29-4 数据库设计图 其中初步的为数据库中的表进行设计,这里包括四个表,分别作用如下: q 用户注册表:用于存放用户的注册信息,以便登录时使用。 q 日志表:用户可以发布相应的日志,这些日志都存放在日志表中。 q 日志评论表:用户可以对相应的日志进行评论。 q 日志分类表:用户可以选择自己喜欢的分类进行日志发布,但日志分类由管理员管理。 q 公告信息表:管理员可以在校友录中发布最新的信息。 其中用户在发布日志时可以选择相应的分类,例如选择“最近心情”或“好歌欣赏”等,用户还能
16、够进行相应的分类日志的索引。在ASP.NET校友录系统中最为重要的就是日志表和与之相关的表,用695 户在校友录系统中主要通过日志进行信息交换和分享。其中日志表的字段可以归纳如下。 q 日志ID:日志的ID,为自动增长的主键。 q 日志标题:日志的标题,用于显示日志标题的信息。 q 日志作者:日志的作者,用于显示是谁发布了日志。 q 日志发布时间:日志发布时间,用于显示日志发布的日期。 q 日志内容:日志内容,用于呈现日志的内容,包括音乐、图片等信息。 q 日志打分:日志打分,对于其他用户而言可以为该日志进行评分。 q 日志所属分类:日志所属分类,用于显示日志所属于的分类。 q 日志阅读次数:
17、用于表示阅读被访问的次数。 q 日志所属用户ID:日志所属用户ID用于标识该日志所属的用户信息。 日志表能够描述日志的基本信息,而日志分类表和日志所属用户表用户描述整个日志的其他信息,这些信息是日志的分类、日志发布作者的个性签名等等。日志分类表可以规划如下。 q 分类编号:用于标识留言本分类的编号,为自动增长的主键。 q 分类名称:用于描述分类的名称,例如“阳光男孩”等。 一个日志可以有一个分类进行描述,当对日志的分类进行描述后,用户可以通过索引相应的分类的日志,例如有某个用户对“阳光男孩”这个分类特别感兴趣,那么用户就能够索引这个分类的所有文章,而暂时关闭对其他文章的浏览。注册模块在前面的章
18、节中都有设计,这里同样需要注册模块,注册模块的字段可以描述如下所。 q 用户名:用于保存用户的用户名,当用户登录时可以通过用户名验证。 q 密码:用于保存用户的密码,当用户使用登录时可以通过密码验证。 q 性别:用于保存用户的性别。 q 头像:用于保存用户的个性头像。 q QQ/MSN:用于保存用户的QQ/MSN等信息。 q 个性签名:用于展现用户的个性签名等资料。 q 备注:用于保存用户的备注信息。 q 用户情况:用于保存用户的状态,可以设置为通过审批和未通过等。 q 用户权限:用户区分是管理员还是普通用户。 与前面的用户注册不同的是,这里多了一个用户权限字段,由于管理员也能够进行普通的用户
19、的操作,所以需要另一个字段进行用户权限的描述。当用户进行登录后,可以对相应的日志进行评论。同样,当管理员进行管理登录后,管理员可以对日志的评论进行删除,日志评论表字段如下所示。 q 评论ID:用于标识评论,是自动增长的主键。 q 评论标题:用于表示评论的标题。 q 评论时间:用于表示评论的时间。 q 评论内容:用于表示评论的内容。 q 用户ID:用于标识评论的用户ID,可以通过该ID进行多表连接查询。 q 日志ID:用于标识评论的所在的日志,可以通过该ID进行多表连接查询。 这些表就能够实现校友录的基本信息,在校友录首页就能够通过查询相应的数据进行校友录中的用户和数据的查看。 696 29.2
20、.2 数据表的创建 创建表可以通过SQL Server Management Studio视图进行创建也可以通过SQL Server Management Studio 查询使用SQL语句进行创建。 1事务表 在创建日志表之前首先需要创建friends数据库,创建完成后就能够进行其中的表的创建。在ASP.NET校友录系统中最为重要模块的就是日志模块,日志模块的表结构分别如图29-5和图29-6所示。 图29-5 日志表结构 图29-6 日志分类表结构 从数据库中可以看出留言表中的字段信息,日志表中的字段意义如下所示: q id:日志的ID,为自动增长的主键。 q title:日志的标题,用于显
21、示日志标题的信息。 q author:日志的作者,用于显示是谁发布了日志。 q time:日志发布时间,用于显示日志发布的日期。 q content:日志内容,用于呈现日志的内容,包括音乐、图片等信息。 q marks:日志打分,对于其他用户而言可以为该日志进行评分。 q classid:日志所属分类,用于显示日志所属于的分类。 q hits:用于表示阅读被访问的次数。 q userid:日志所属用户ID用于标识该日志所属的用户信息。 创建数据表的SQL查询语句代码如下所示。 USE friends GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER O
22、N GO CREATE TABLE dbo.diary( id int IDENTITY(1,1) NOT NULL, title nvarchar(500) COLLATE Chinese_PRC_CI_AS NULL, author nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, time datetime NULL, content nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL, marks int NULL, classid int NULL, userid int NULL, hits int NU
23、LL, CONSTRAINT PK_diary PRIMARY KEY CLUSTERED ( 697 id ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY 同样日志分类表的字段如下所示。 q id:用于标识留言本分类的编号,为自动增长的主键。 q classname:用于描述分类的名称,例如“阳光男孩”等。 创建数据表的SQL查询语句代码如下所示
24、。 USE friends GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE dbo.diaryclass( id int IDENTITY(1,1) NOT NULL, classname nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_diaryclass PRIMARY KEY CLUSTERED ( id ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DU
25、P_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY 在用户发布日志后,用户可以对相应的日志进行评论,评论表和日志表的连接也是非常重要的,在相应的日志下需要筛选出相应的日志的评论进行呈现,用户也可以在相应的日志中添加自己的评论,评论表字段可以归纳如下。 q id:用于标识评论,是自动增长的主键。 q title:用于表示评论的标题。 q time:用于表示评论的时间。 q content:用于表示评论的内容。 q userid:用于标识评论的用户ID,可以通过该ID进行多表连接查询。
26、q diaryid:用于标识评论的所在的日志,可以通过该ID进行多表连接查询。 创建数据表的SQL查询语句代码如下所示。 USE friends GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE dbo.diarygbook( id int IDENTITY(1,1) NOT NULL, title nvarchar(500) COLLATE Chinese_PRC_CI_AS NULL, time datetime NULL, content nvarchar(max) COLLATE Chinese_PRC_C
27、I_AS NULL, userid int NULL, diaryid int NULL, CONSTRAINT PK_diary_gbook PRIMARY KEY CLUSTERED 698 ( id ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY 评论表需要同多个表进行连接,其中userid需要与注册表进行连接用于查询用户的信息,而diary
28、id用于同日志表进行连接查询所在的日志。在进行日志呈现时,同样需要连接日志评论表进行相应的评论的筛选。 2验证表 在用户注册中,增加了对管理员身份验证的字段,用户注册表字段如下所示。 q id:用于标识用户ID,为自动增长的主键。 q username:用于保存用户的用户名,当用户登录时可以通过用户名验证。 q password:用于保存用户的密码,当用户使用登录时可以通过密码验证。 q sex:用于保存用户的性别。 q pic:用于保存用户的个性头像。 q IM:用于保存用户的QQ/MSN等信息。 q information:用于展现用户的个性签名等资料。 q others:用于保存用户的备
29、注信息。 q ifisuser:用于保存用户的状态,可以设置为通过审批和未通过等。 q userroot:用于验证用户是管理员还是普通用户。 创建数据表的SQL查询语句代码如下所示。 USE friends GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE dbo.Register( id int IDENTITY(1,1) NOT NULL, username nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, password nvarchar(50) COLLATE Ch
30、inese_PRC_CI_AS NULL, sex int NULL, picture nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL, IM nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, information nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL, others nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL, ifisuser int NULL, userroot int NULL, CONSTRAINT PK
31、_Register PRIMARY KEY CLUSTERED ( id ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY 上述代码创建了一个可以进行身份判断的用户表,开发人员可以通过userroot字段进行管理员身份的判断,其结构如图29-7所示。 699 图29-7 注册表结构 3公告数据 公告数据可以不使用数据库进行存储,在这里可以使用txt文
32、档进行数据存储,这样不仅可以减轻数据库服务器的压力,也能够增加公告中文本的可扩展性。 注意:对于公告的数据直接存储在txt文档中,当首页需要调用公告时,可以直接从txt文档中读取数据进行HTML呈现。 29.3 数据表关系图 系统数据库中需要进行约束,需要约束的表包括用户表、留言表和留言分类表,其约束可以使用SQL Server Management Studio视图进行编写。在ASP.NET同学录系统中,包括一些数据约束用于保持数据库中数据的完整性,数据表关系图如图29-8所示。 图29-8 数据库关系图 图29-8中说明了数据库表之间的关系,进行表之间数据的约束。当进行数据插入时,就会判断
33、数据库中表的约束情况和完整性,如果用户表没有任何数据而进行日志表中数据的插入是不被允许的。在进行关系的保存之后系统表就会被关系进行更改,其中的数据库创建的SQL语句也会相应的更改,就不会是原来的简单的创建语句,而更改后的语句包含了键值的约束关系。当对数据库中的表之间进行约700 束,则在进行数据操作时就应该按照规范来进行插入、删除等操作。 29.4 系统公用模块的创建 在ASP.NET校友录系统中,用户能够分享自己的日志就需要使用HTML编辑器,HTML编辑器是系统的公用模块,可以通过HTML编辑器进行富文本编写和呈现。同样为了简化数据操作,也可以使用SQLHelper类进行数据操作。 29.
34、4.1 使用Fckeditor Fckeditor是现在最热门的开源HTML编辑器,使用Fckeditor能够像Word一样进行页面排版和布局,Fckeditor还能够使用表情、进行拼写检查等。 在留言本系统开发中,并没有使用Fckeditor进行文本提交是因为在留言本系统中不需要进行复杂的文字呈现,而对于校友录系统而言,用户可以分享自己的日志并且进行日志布局和排版,这就需要实现复杂的HTML代码进行页面呈现。Fckeditor能够完成这一系列复杂的操作。Fckeditor在“附-Fckeditor编辑器”中,可以在项目中使用Fckeditor进行文本框制作和二次开发。 在项目中添加Fcked
35、itor的引用,首先需要将Fckeditor文件夹拷贝到项目中。由于ASP.NET应用程序的关系,Fckeditor并不会在解决方案管理器中呈现,单击上方的小图标可以进行所有文件的显示,如图29-9所示。 显示所有文件后就能够看到Fckeditor编辑器文件夹,右击Fckeditor文件夹,选择选项就能够将文件夹中的所有文件批量添加到项目中,如图29-10所示。 图29-9 显示所有文件 图29-10 添加Fckeditor 添加文件后还需要添加相应的DLL文件,以便在程序开发中使用Fckeditor编辑器进行文本框开发。右击现有项目,在下拉菜单中选择选项,在标签中选择选项卡,找到目录中的bi
36、n目录并添加到项目中,如图29-11所示。 添加引用后就能够在开发中使用Fckeditor编辑器进行富文本编辑,开发人员还能够在工具栏中添加Fckeditor编辑器。单击的空白区域,单击右键,在下拉菜单中选择选项,选择刚才添加的DLL文件。选择后单击按钮即可添加控件。控件添加完毕后就会在工具栏中呈现相应的控件,如图29-12所示。 701 图29-11 添加引用 图29-12 添加后的Fckeditor编辑器控件 开发人员能够将Fckeditor编辑器控件拖动到其他的区域,以适合自己的开发方式。在控件添加完成后,就可以向页面中添加控件,示例代码如下所示。 上述代码使用了Fckeditor编辑器
37、控件进行富文本操作,运行后如图29-13所示。 图29-13 Fckeditor编辑器 使用Fckeditor编辑器可以更快的进行富文本的编辑,如果开发人员从头开发HTML编辑器会花费大量的时间,使用Fckeditor编辑器能够进行样式的布局、文本格式化等操作而无需从头进行开发。对于Fckeditor编辑器而言,Fckeditor编辑器是免费和开源的,开发人员能够免费的下载Fckeditor编辑器并进行二次开发,极大的简化富文本功能的开发。 29.4.2 使用SQLHelper SQLHepler是一个数据库操作的封装,使用SQLHepler类能够快速的进行数据的插入、查询、更新 702 等操
38、作而无需使用大量的ADO.NET代码进行连接,使用SQLHelper类为开发人员进行数据操作提供了极大的遍历,在现有的系统中,在解决方案管理器中可以选择添加现有项添加现有的类库的引用,也可以通过自行创建类进行引用。 在前面的ASP.NET留言本中详细的讲解了如何使用SQLHepler类进行数据操作,使用SQLHepler类能够无需自己创建ADO.NET对象进行复杂的数据操作。 29.4.3 配置Web.config Web.config文件为系统的全局配置文件,在ASP.NET中Web.config文件提供了自定义可扩展的系统配置,这里同样可以通过配置配置节配置自定义信息,示例代码如下所示。
39、/编辑server项 /编辑guestbook项 /编辑uid项 /编辑pwd项 /编辑look项 上述代码对配置文件Web.config进行了相应的配置,配置节的配置信息能够在程序中通过ConfigurationManager.AppSettings获取,在SQLHelper类中就使用ConfigurationManager.AppSettings进行相应的自定义配置节的参数值的获取。这些配置节的相应的意义如下所示。 q server:server项,用于配置数据库服务器的服务器地址。 q database:database项,用于配置数据库服务器的数据库名称。 q uid:uid项,用于配
40、置数据库服务器的用户名。 q pwd:pwd项,用于配置数据库服务器的密码。 q look:look项,用于配置用户是否需要登录才能进行查看。 在配置了Web.config中配置的信息后,不仅SQLHelper类能够进行相应参数的获取,在应用程序中也能够获取Web.config中配置节的参数值。 29.5 系统界面和代码实现 在ASP.NET校友录系统中使用了Fckeditor以及SQLHelper简化了HTML编辑器的开发和数据操作,在系统界面编写和代码实现上也更加容。,对于校友录系统而言,具有比较多的页面,这些页面用于注册、登录、发布日志和管理。 29.5.1 用户注册实现 在用户进行校友
41、录系统登录前必须进行注册,对于注册而言,本书的前面的模块章节以及ASP.NET留言本项目都有比较详细的介绍,这里就不在做过多的介绍,用户注册只需要将数据插入到数据库即可,注册页面HTML核心代码见光盘中源代码第29章29-129-1register.aspx。 上述代码进行了用户注册页面的基本布局,当用户打开校友录页面时,系统会提示用户必须要进行登录操作,如果用户没有用户惟一则必须先进行注册,注册页面如图29-14所示。 703 图29-14 注册页面 当用户进行注册时,需要将数据插入到数据库中,使用SQLHelper类能够简化数据操作,示例代码如下所示。 protected void But
42、ton1_Click(object sender, EventArgs e) try string strsql = insert into register (username,password,sex,picture,IM,information,others,ifisuser,userroot) values ( + TextBox1.Text + , + TextBox2.Text + , + DropDownList1.Text + , + TextBox3.Text + , + TextBox4.Text + , + TextBox5.Text + , + TextBox6.Tex
43、t + ,0,0); SQLHelper.SQLHelper.ExecNonQuery(strsql); /执行SQL语句 Response.Redirect(login.aspx); /注册后跳转到登录页面 catch Response.Redirect(default.aspx); /出错后跳转到首页 当用户执行注册后,如果注册成功系统就会跳转到登录页面进行登录操作,如果没有注册成功,则系统会认定用户执行了非法操作,会跳转到首页。在进行注册时,默认情况下ifisuser字段为0,用户注册后并不能够立即通过,需要管理员进行身份验证。 注意:在进行注册时首先需要进行查询,查询是否已经有现有的用户,这里可以参考注册模块,由于前面已经讲解了很多关于注册的操作,这里就不再详细讲解如何实现。 29.5.2 用户登录实现 用户登录操作在前面的章节中讲的非常的多,并且在模块篇中还详细的介绍了用户登录模块的开发,这里可以使用简单的登录模块进行登录操作即可而无需实现复杂的登录控制。登录页面HTML核心代码见光盘中源代码第29章29-129-1login.aspx。 用户注册完成后就会跳转到