版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE博客系统分析与设计指导老师毕业论文广东工贸职业技术学院专业:计算机网络技术博客系统分析与设计目录摘要…………………4关键字…………………4前言…………………4开发环境………………5第一章博客系统分析………………61.1可行性分析………………………61.2系统功能结构……………………7第二章博客系统设计………………162.1数据库结构………………………162.2博客系统功能介绍与业务流图…………………172.3系统使用说明书…………………18第三章博客系统模块分析与实现…………………21博客安装页面3.1建库页面…………………………213.2建表页面…………………………23博客前台页面3.3博客首页…………………………263.4日志页面…………………………303.5留言页面…………………………333.6登入页面…………………………363.7注册页面…………………………383.8注册提示页面……………………413.9信息显示页面……………………423.10信息修改页面……………………443.11日志显示页面……………………47博客后台页面3.12后台登入页面……………………513.13管理首页页面……………………533.14日志管理页面……………………553.15栏目管理页面…………………593.16留言管理页面…………………653.17用户管理页面…………………673.18日志评论页面…………………703.19日志编辑页面…………………73博客母板模块页面3.20安装母板页面…………………753.21前台母板页面…………………753.22后台母板页面…………………75第四章博客系统调试………………764.1系统在调试过程中出现的问题及解决方法……………………76第五章结束语………………………76参考文献…………………………76摘要博客管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用MICROSOFT公司的visualstudio2005开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。SummaryBlogManagementSystemisatypicalmanagementinformationsystem(MIS),includingthedevelopmentofitsbackgroundoftheestablishmentandmaintenanceofthedatabasefront-endapplications,aswellasthedevelopmentofboth.Theformersetuptherequirementsfordataintegrityandconsistencyofstrongdatasecurityagoodlibrary.Forthelatterapplicationsrequirefull-featuredandeasytouseandsoon.
Afteranalysis,weuseMICROSOFT'svisualstudio2005developmenttools,providedbytheuseofavarietyofobject-orienteddevelopmenttools,inparticular,thedatawindowcanbesimpleandeasytomanipulateintelligencedatabaseobject,firstsetupinashortperiodoftimePrototypesystem,andthen,theinitialprototypeofthesystemneedsiteration,constantlyrevisedandimprovedcustomersatisfactionuntiltheformationofaviablesystem.关键字数据库表名称关键字账户账号留言系号日志栏id日志库id日志留言id前言随着网络的快速普及,越来越多的网友都拥有自己的博客。博客提供个性化的装饰与个人的交流方式,人们通过博客可以发表自己的言论,自己的思想,自己的心声,与访客形成一对多的交流方式。面对庞大的信息量需要处理,博客系统可以提高信息管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。本博客系统适用于个人,主要功能是提供管理者与访客之间的交流平台以及管理者对信息的有效管理。其简要功能介绍如下:(一)、博客安装页面功能简略介绍1.博客系统数据库的建立2.数据库各个基本表的建立(二)、博客前台页面功能简略介绍一般用户的注册、留言及日志的阅读、查询与评论一般用户查看个人信息及修改自己的用户信息(三)、博客后台页面功能简略介绍1.日志的添加、查询、更新、删除2.栏目的添加、更新、删除3.留言的删除4.用户的添加、更新、删除5.日志评论的查询、删除开发环境博客系统设计环境:硬件:1AMDSempron(tm)Processor3200+CPU2160G硬盘,512M的内存软件:1WindowsXPProfessional操作系统Microsoftvisualstudio2005中文企业版SQLserver2000数据库第一章博客系统分析1.1可行性分析博客系统,一种可视为个人网站的系统。和一般网站一样,它可以随时发布最新消息,对博客信息及时进行维护与更新,还有对它进行比较人性化的管理界面。博客是面向所有访问者的,无论是注册与非注册用户都可以随意发表言论,与此同时,访问量的倍增直接关系到信息量的增加,如果日常维护只是技术人员人工操作的话,每次对信息进行维护的工作量将非常繁琐。针对这些具体情况,博客后台的管理解决了这样一种不必要的麻烦。根据网上信息显示,使用博客的用户日益增加,对博客这样一种网站管理模式适应性比较强,非专业人士同样可以根据操作说明与网页窗体模式对自己的博客信息进行管理。根据实际操作,可以了解到博客系统的实用性,对本博客系统的可行性进行了以下几点的分析,分析如下:一.博客安装页面1.建库页面:建立博客系统数据库2.建表页面:建立数据库基本表二.博客前台页面博客首页:提供日志查看、信息查看、进入后台管理、用户登出日志页面:提供日志查看和日志查询留言页面:提供留言登入页面:登入博客系统注册页面:提供注册三.博客后台页面1.后台登入页面:登入后台页面(提供给管理员)2.日志管理页面:包括日志查询、添加、删除、更新3.栏目管理页面:包括栏目添加、删除、更新4.留言管理页面:包括删除5.用户管理页面:包括用户添加、删除。更新6.日志评论页面:包括评论查询、删除本系统针广大用户对博客的一般要求而设计。大大提高了博客信息的管理速度、效率和准确性还提高统计效率。方便了博客使用用户对博客信息的管理。做出以上可行性分析报告后,经指导教师审查,最后确定方案可行。1.2系统功能结构本博客系统的三个核心页面:博客安装首页博客前台首页博客后台首页用户权限:匿名用户:可以留言和日志评论一般用户:可以留言和日志评论及查看和修改个人信息管理员:可以留言和日志评论及进入后台信息管理一、博客安装页面功能结构1.建库页面:包括:连接数据库、建立博客系统数据库2.建表页面:包括:连接数据库、建立数据库基本表、创建管理员用户二、博客前台页面功能结构1. 博客首页:包括:显示最新日志简要内容、日志查看、用户登出、判断用户身份确认进入后台管理、判断用户身份确认进入信息显示页面2. 日志页面:包括:日志查看、日志搜索3. 留言页面:包括:进行留言、匿名用户访问时显示”[现在注册]”链接4. 登入页面:包括:一般用户登入、管理员登入5. 注册页面:包括:账号、密码、邮箱6. 注册提示页面:包括:提示注册的简要要求、提示选择是否注册7. 信息显示页面:包括:显示个人具体信息、进入信息修改页面8. 信息修改页面:包括:修改密码、修改邮箱9. 日志显示页面:包括:显示日志具体内容、进行日志评论、匿名用户访问时显示”[现在注册]”链接三、博客后台页面功能结构1.后台登入页面:包括:管理员身份登入2.管理首页页面包括:退出后台管理3.日志管理页面:包括:日志的类别查询、日志添加、日志删除、日志更新、显示全部日志4.栏目管理页面:包括:栏目的添加、栏目名称更新、栏目删除5.留言管理页面:包括:具体留言删除、全部留言删除6.用户管理页面:包括:添加用户、删除用户、更新用户信息7.日志评论页面:包括:评论标题查询、评论类别查询、具体评论删除、显示全部评论8.日志编辑页面:包括:日志具体内容更新由以上主要博客页面所构成的系统结构图如下图1-1至1-5:眷海存枫博客系统眷海存枫博客系统建库页面建表页面博客安装页面连接数据库建立博客系统数据库连接数据库创建管理员用户建立数据库基本表图1-1眷海存枫博客系统眷海存枫博客系统博客前台页面博客首页显示最新日志简要内容判断用户身份确认进入后台管理
户身份确认进入后台管理日志查看判断用户身份确认进入信息显示页面
面用户登出日志页面日志搜索
户身份确认进入后台管理日志查看留言页面匿名访问时显示”[现在注册]”链接进行留言登入页面管理员登入一般用户登入注册页面密码注册提示页面提示选择是否注册提示注册的简要要求邮箱账号图1-2眷海存枫博客系统眷海存枫博客系统博客前台页面信息修改页面日志显示页面进行日志评论信息显示页面显示个人具体信息进入信息修改页面匿名访问时显示”[现在注册]”链接显示日志具体内容修改密码修改邮箱图1-3眷海存枫博客系统眷海存枫博客系统博客后台页面后台登入页面管理员身份登入管理首页页面日志管理页面栏目管理页面栏目删除栏目添加留言管理页面全部留言删除具体留言删除日志添加
户身份确认进入后台管理日志的类别查询日志更新
户身份确认进入后台管理日志删除退出后台管理显示全部日志
户身份确认进入后台管理栏目名称更新图1-4眷海存枫博客系统眷海存枫博客系统博客后台页面用户管理首页日志评论页面日志编辑页面评论标题查询具体评论删除
户身份确认进入后台管理评论类别查询显示全部评论
户身份确认进入后台管理日志具体内容更新删除用户添加用户更新用户信息图1-5第二章博客系统设计2.1数据库结构1、数据库表结构如下图数据库表名称字段名类型长度允许空主键账户账号char20否账号密码char20否邮箱char25是用户组char10否留言系号int4否系号账号char20否内容char800否时间datetime8是日志栏idint4否idtxtchar40否rootidint4否日志库idint4否id栏目idint4否标题nchar60否内容ntext16否时间datetime8是首页显示char250否日志留言idint4否id账号char20否留言char800否时间datetime8是系号int4否标题nchar60否所属char40否2.2博客系统功能介绍与业务流图一、博客系统功能介绍本博客系统主要供个人使用,使用安装页面完成安装即可使用,博客内容公开,所有访问都均可见,注册没有限制,任何身份的访问者都可以进行留言或对日志发表评论,凡是在本博客注册的成员都为一般用户,可以留言和评论以及查看和修改个人信息,当登入者为管理员身份时,系统会判断其是否为管理员,如果是,则有进入后台的权限。后台管理首页会自动判断进入者是否为管理员,让试图登入后台的访问者自动退出到博客后台登入页面,以确保信息的安全性。管理员可以前台登入,也可以直接从后台登入页面登入博客系统进行信息管理,主要提供给管理员的功能为日志的管理、栏目的管理、留言的管理、用户的管理、日志评论的管理。二、博客系统业务流图博客首页博客首页留言登入注册日志注册成功登入成功登入状态后台管理个人信息管理一般用户管理员后台登入页面一般用户试图登入正确输入管理员信息管理首页信息修改2.3系统使用说明书使用需知:本博客系统由Microsoftvisualstudio2005和SQLserver2000共同设计,所以在使用博客系统之前必须先做好ASP.NET的网站设置,另外网站所在服务器上得装有SQL数据库,如果没有安装,则先安装SQL数据库并记住其用户名跟密码以便安装博客时连接使用,满足以上几个条件便可完成本博客系统的安装。一、博客的安装1.打开博客系统根目录下名为install.aspx的安装页面,按提示填写建库所需要的信息,正确填写后进入sqlboot.aspx页面,按页面提示正确填写创建管理员和建表所需信息,记住管理员账号和密码,如果服务器在本机,只需填写数据库用户名跟密码,数据库用户名默认为sa。2.完成上述步骤后进博客根目录下,找到web.config这个配置文档,用记事本方式打开这个配置文档,找到以下语句:<connectionStrings><addname="Conn"connectionString="DataSource=服务器IP地址;InitialCatalog=数据库名;UserID=数据库用户名;Password=数据库用户密码"providerName="System.Data.SqlClient"/></connectionStrings>如果服务器在本地计算机且安装时没的更改默认配置:那么只要把“服务器IP地址”改为“localhost或本地计算机名”,把“数据库用户名”改为“blog”,把“数据库用户名”改为“sa”,把“数据库用户密码”改为“安装时所填写连接数据库的用户密码”。如果不是不在本地计算机上就把安装时所填写的信息填写到配置文档所对应的位置即可。配置文档修改完成后最好把博客根目录下的名为install.aspx和sqlboot.aspx这两个网页文件删除,以免重复安装造成数据库重新建立所有信息丢失的严重后果。二、博客前台基本页面使用1.注册页面在首页打开注册页面,进入注册提示页面,根据注册的简要要求选择是否注册,如果同意以上要求则进入注册页面,如果反对则返回博客首页。进入注册页面后填写用户信息,用户名不重复、密码两次输入一致便可顺利注册,完成注册后返回首页并为登入状态。2.登入页面在首页打开登入页面,填写登入信息后,如果用户存在则进入博客首页并为登入状态,如果打开登入页面之前已为登入状态则要先登出。3.留言页面任何身份均可留言,未登入博客的访客身份默认为游客。4.日志页面默认显示所有日志,可以根据左边的栏目选择所要查看栏目日志,也可以用搜索功能搜索博客网站的日志,搜索有两种形式,一种为日志标题搜索,另一种为日志内容搜索。5.博客首页博客首页默认显示最新发表的日志简要内容,点击阅读则可查看日志详细内容,当访客为登入状态时则会判断登入者的身份,管理员身份登入时有权限进入后台管理,当为一般用户身份登入时则只有查看个人信息和修改个人信息的权限。6.日志显示页面此页面显示日志详细内容,任何身份均可进行日志评论,未登入博客的访客身份默认为游客。7.信息显示页面当一般用户登入时首页才显示此页面链接,其显示一般用户个人信息,可以进入信息修改页面。8.信息修改页面此页面只在信息显示页面提供链接,填写要更新的信息,新密码两次输入一致即可,邮箱允许为空,不填默认为没有邮箱信息,如果填写邮箱,邮箱格式不能错误,否则出错。三、博客后台基本页面使用1.后台登入页面只供管理员登入,也只提供管理员在没有进入博客首页时直接进入后台时使用,只对管理员公开,填写信息为管理员身份时才可进入后台管理,当一般用户用试图登入后台管理首页时,系统会判断出其身份,然后自动退出后台首页到后台登入页面。2.管理首页页面只有管理员身份登入时首页才显示此链接,提供退出后台管理操作3.日志管理页面选择栏目添加日志,标题和内容都不能为空但不能太长,内容字数没有限制,添加成功后可随时进行栏目名修改和栏目删除操作,删除时可查询栏目后选择所要删除的日志,删除一篇日志时会自动删除它所对应的所有日志评论。4.栏目管理页面栏目的添加,在左边选择根栏目以添加子栏目,栏目名不能为空,添加后可随时对所添加栏目进行修改,同时不必要的栏目也可进行删除,删除时系统会自动查询栏目下有没有日志,有则需先删除,如果没有则查询栏目下有没有子栏目,有则需先删除。5.用户管理页面添加用户时根据所要添加的用户分配权限,信息填写正解则可添加成功,下方显示用户的详细信息,更新用户的信息时填写新的用户信息则可,注意正确填写。6.留言管理页面此页面只提供留言删除操作,可以具体留言删除,也可以一次性删除全部留言。7.日志评论页面日志的基本删除,可以逐个删除,也可以根据标题查询和栏目查询来显示所属的日志评论信息,选择要删除的日志评论。8.日志编辑页面此页面提供日志内容更新操作,在日志管理页面里选择编辑链接时使用。以上使用说明为简要概述,更多的功能在使用中才更加完美体现,欢迎你使用眷海存枫博客系统。第三章博客系统模块分析与实现博客安装页面3.1建库页面实现目标:按提示填写安装信息后,下一步进入下一页面,同时把博客数据库建立并传递连接数据库的信息。1.建库页面(安装首页)install.aspx如下图1-1所示:图1-12.设计思路通过填写SQL服务器地址、SQL服务器用户、SQL用户密码、数据库名,点击下一步LinkButton1事件检索填写信息是否正确,如果正确则进入下一页面,如果错误则提示出错信息,返回当前页面继续填写建库信息。下一步LinkButton1_Click事件的VB代码如下:ImportsSystem.Data.SqlClient’包括SqlConnection或SqlCommand类ImportsSystem.Data’包括所有数据提供程序使用的类ImportsSystem.Configuration’包括连接数据库的内部命令ProtectedSublinkButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesLinkButton1.ClickDimmyconnAsNewSqlConnectionDimmycommAsNewSqlCommandDimip,zh,mm,sqlAsStringDimstrAsStringip=Trim(TextBox1.Text)’连接数据库的IP地址zh=Trim(TextBox2.Text)’连接数据库的用户名mm=Trim(TextBox3.Text)’连接数据库的用户密码sql=Trim(TextBox4.Text)’建立的博客数据库名str="ifexists(select*fromsysdatabaseswherename='"&sql&"')dropdatabase"&sql&"createdatabase"&sql&""’建立博客数据库SQL代码Trymyconn.ConnectionString="DataSource="&ip&";UserID="&zh&";Password="&mm&""myconn.Open()mycomm.CommandText=""&str&""mycomm.CommandType=CommandType.Textmycomm.Connection=myconnmycomm.ExecuteNonQuery()’提交服务器内部执行CatchexAsExceptionmyconn.Dispose()mycomm.Dispose()Response.Write("<script>alert('操作有误,查看输入,连接失败!');location.href='install.aspx'</script>")’连接失败时所要提示的信息EndTrymycomm.Dispose()’释放空间myconn.Dispose()’释放空间Response.Write("<script>alert('恭喜你,连接成功!数据库已建立!!!');location.href='sqlboot.aspx?ip="&ip&"&zh="&zh&"&mm="&mm&"&sql="&sql&"'</script>")’连接建库成功时所要提示的信息并传递连接数据库信息到下一页EndSub3.2建表页面实现目标:实行建表跟建立管理员用户操作,按提示填写建表信息,正确填写按下一步完成建表安装操作。1.建表页面sqlboot.aspx如下图1-2所示:图1-22.设计思路通过填写管理员用户跟密码,点击下一步LinkButton1事件检索填写信息是否正确,如果正确则实行建表操作,建表成功后提示删除安装页面,如果错误则提示出错信息,返回当前页面继续填写建表信息。3.Page_Load和下一步LinkButton1_Click事件的VB代码如下:ImportsSystem.Data.SqlClientImportsSystem.DataImportsSystem.ConfigurationDimip,zh,mm,sqlAsStringProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Loadip=Request.QueryString("ip")’获取连接数据库的IP地址zh=Request.QueryString("zh")’获取连接数据库的数据库用户名mm=Request.QueryString("mm")’获取连接数据库的数据库用户密码sql=Request.QueryString("sql")’获取连接数据库的数据库名EndSubProtectedSubLinkButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesLinkButton1.ClickDimroot,login,qr,groupAsStringgroup="管理员"root=Trim(TextBox1.Text)login=Trim(TextBox2.Text)qr=Trim(TextBox3.Text)Ifroot=""Thenroot="admin"’默认情况下添加的管理员账号为“admin”EndIfIflogin=""ThenResponse.Write("<script>alert('管理员密码不能为空!');location.href='sqlboot.aspx?ip="&ip&"&zh="&zh&"&mm="&mm&"&sql="&sql&"'</script>")ReturnEndIfIflogin<>qrThenResponse.Write("<script>alert('两次输入的密码不一致!');location.href='sqlboot.aspx?ip="&ip&"&zh="&zh&"&mm="&mm&"&sql="&sql&"'</script>")ReturnEndIfDimmyconnAsNewSqlConnectionDimmycommAsNewSqlCommandDimstrAsStringstr="createtable日志栏(idintidentityprimarykey,txtchar(40)notnull,rootidintnotnull)"str=str&"createtable日志库(idintidentityprimarykey,栏目idintnotnull,标题nchar(60)notnull,内容ntextnotnull,时间datetime,首页显示char(250)notnull)"str=str&"createtable日志留言(idintidentityprimarykey,账号char(20)notnull,留言char(800)notnull,时间datetime,系号intnotnull,标题nchar(60)notnull,所属char(40))"str=str&"createtable留言(系号intidentityprimarykey,账号char(20)notnull,内容char(800)notnull,时间datetime)"str=str&"createtable账户(账号char(20)primarykey,密码char(20)notnull,邮箱char(25),用户组char(10)notnull)"str=str&"insert账户(账号,密码,用户组)values(@zh,@mm,@group)"’建表SQL代码Trymyconn.ConnectionString="DataSource="&ip&";UserID="&zh&";Password="&mm&""’连接数据库myconn.Open()mycomm.CommandText="use"&sql&""&str&""’建表代码集mycomm.Parameters.Add("@zh",SqlDbType.Char).Value=rootmycomm.Parameters.Add("@mm",SqlDbType.Char).Value=loginmycomm.Parameters.Add("@group",SqlDbType.Char).Value=groupmycomm.Connection=myconnmycomm.ExecuteNonQuery()CatchexAsExceptionmyconn.Dispose()mycomm.Dispose()Response.Write("<script>alert('发生错误,连接失败!');location.href='sqlboot.aspx?ip="&ip&"&zh="&zh&"&mm="&mm&"&sql="&sql&"'</script>")EndTrymyconn.Dispose()mycomm.Dispose()LinkButton1.Visible=FalseLabel1.Visible=FalseLabel2.Visible=FalseLabel3.Visible=FalseLabel5.Visible=FalseTextBox1.Visible=FalseTextBox2.Visible=FalseTextBox3.Visible=FalseLabel4.Text="完成安装,进入根文件夹下把install.aspx和sqlboot.aspx这两个网页文件删除"’完成安装时建表页面显示的提示信息EndSub博客前台页面3.3博客首页实现目标:显示最新日志简要内容,可以根据选择进入日志、留言、登入、注册页面,有比较综合的链接显示。1.博客首页index.aspx如下图1-3所示:2.设计思路在首页TreeView1显示日志栏目GridView1显示最新日志信息,可以直接选择要看的日志栏目链接到日志页面并且显示链接栏目下的子日志,还可以根据直接查看最新日志。登入后的用户根据身份验证LinkButton1显示后台管理链接或个人信息管理链接,信息显示页面由此页面的个人信息管理链接引导,只供一般用户使用,在信息显示页面(以下3.9会有详细介绍)可以进入信息修改页面(以下3.10会有详细介绍),如果用户登入后要继续登入,首页在用户登入后有登出操作。3.页面添加代码如下所示:显示控件GridView1所要添加TemplateField的列为“查看”,页面所要添加的代码为:<itemtemplate><astyle="color:teal;"href="dateview.aspx?id=<%#eval("id")%>"target=""><spanstyle="color:teal;">阅读</span></a></itemtemplate>图1-3Page_load和createchildtree过程的VB代码:ImportsSystem.Data.SqlClientImportsSystem.DataImportsSystem.ConfigurationDimuidAsStringDimgroupAsIntegerProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Loaduid=Session("uid")’获取登入用户的用户名IfNotPage.IsPostBackThenIfuid<>""ThenLabel2.Text=uidDimmyconnAsNewSqlConnectionDimmycommAsNewSqlCommandDimmyreaderAsSqlDataReadermyconn.ConnectionString=ConfigurationManager.ConnectionStrings("conn").ConnectionStringmyconn.Open()mycomm.CommandText="selectcount(*)from账户where账号=@uidand用户组='管理员'"mycomm.Parameters.Add("@uid",SqlDbType.Char).Value=uidmycomm.CommandType=CommandType.Textmycomm.Connection=myconnmyreader=mycomm.ExecuteReadermyreader.Read()group=myreader.GetValue(0)’判断登入者是否为管理员myreader.Close()Ifgroup<>0ThenLinkButton1.Text="后台管理"LinkButton1.PostBackUrl="~/adminpage.aspx"’管理员登入时链接ElseLinkButton1.Text="个人信息管理"LinkButton1.PostBackUrl="~/user.aspx"’一般用户登入时链接EndIfElseLabel1.Visible=FalseLabel2.Visible=FalseLinkButton1.Visible=FalseLinkButton2.Text="欢迎你来到眷海存枫博客"’匿名访问时显示LinkButton2.PostBackUrl="~/index.aspx"’匿名访问时显示文字的链接EndIfDimtnAsNewTreeNodetn.Text="首页"tn.NavigateUrl=("date.aspx")createchildtree(tn,0)’调用过程TreeView1.Nodes.Add(tn)EndIfEndSubProtectedSubcreatechildtree(ByValparentnode,ByValparentid)’树目录的过程DimmyconnAsNewSqlConnectionDimmycommAsNewSqlCommandDimmyreaderAsSqlDataReaderDimtnAsTreeNodemyconn.ConnectionString=ConfigurationManager.ConnectionStrings("conn").ConnectionStringmyconn.Open()mycomm.CommandText="select*from日志栏whererootid=@rootid"mycomm.Parameters.Add("@rootid",SqlDbType.Int).Value=parentidmycomm.CommandType=CommandType.Textmycomm.Connection=myconnmyreader=mycomm.ExecuteReader()DoWhilemyreader.Read()’从表的第一行开始读取tn=NewTreeNodetn.Text=myreader("txt").ToStringtn.NavigateUrl="date.aspx?&id="&myreader("id")createchildtree(tn,myreader("id"))’树的递归调用parentnode.childnodes.add(tn)’添加子树Loopmyreader.Close()mycomm.Dispose()myconn.Dispose()EndSub登出按钮LinkButton2_Click事件代码如下:ProtectedSubLinkButton2_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesLinkButton2.ClickSession("uid")=""’登出,把传递的用户名置为空Response.Redirect("index.aspx")’返回博客首页EndSub3.4日志页面实现目标:查看日志和搜索日志,搜索日志可以根据日志标题,也可以根据日志内容。左边目录树查看日志栏目下所有的日志。1.日志页面date.aspx如下图1-4所示:2.设计思路在日志页面默认打开时GridView1显示所有的日志,左边栏目TreeView1可以选择所要对应栏目下日志,日志显示栏可以直接点击查看链接查看日志详细内容,Button1_Click事件提供日志搜索,根据标题搜索,也可以根据内容搜索,搜索显示日志标题而不显示日志内容,日志详细内容是在日志显示页面(以下3.11会有详细介绍)显示。3.页面添加代码如下所示:显示控件GridView1所要添加TemplateField的列为“日志查看”,页面所要添加的代码为:<itemtemplate><astyle="color:teal;"href="dateview.aspx?id=<%#eval("id")%>"target=""><spanstyle="color:teal;">查看</span></a></itemtemplate>日志搜索按钮Button1_Click事件VB代码:ProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimstrAsStringstr=DropDownList1.SelectedValue’取出选择搜索的条件Ifstr="日志标题"Then’选择搜索的条件为日志标题SqlDataSource1.ConnectionString=ConfigurationManager.ConnectionStrings("conn").ConnectionStringSqlDataSource1.SelectCommand="selectid,标题,时间from日志库where标题like'%"&TextBox1.Text&"%'orderby时间desc"ElseIfstr="日志内容"Then’选择搜索的条件为日志内容SqlDataSource1.ConnectionString=ConfigurationManager.ConnectionStrings("conn").ConnectionStringSqlDataSource1.SelectCommand="selectid,标题,时间from日志库where内容like'%"&TextBox1.Text&"%'orderby时间desc"EndIfEndIfEndSub图1-4Page_load和createchildtree过程的VB代码:ImportsSystem.Data.SqlClientImportsSystem.DataImportsSystem.ConfigurationDimdateidAsStringProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.LoadIfNotPage.IsPostBackThendateid=Request.QueryString("id")DimmyconnAsNewSqlConnectionDimmycommAsNewSqlCommandDimtnAsNewTreeNodetn.Text="首页"tn.NavigateUrl=("date.aspx")createchildtree(tn,0)TreeView1.Nodes.Add(tn)Ifdateid<>""ThenSqlDataSource1.ConnectionString=ConfigurationManager.ConnectionStrings("conn").ConnectionStringSqlDataSource1.SelectCommand="selectid,标题,时间from日志库where栏目id='"&CInt(dateid)&"'orderby时间desc"ElseSqlDataSource1.ConnectionString=ConfigurationManager.ConnectionStrings("conn").ConnectionStringSqlDataSource1.SelectCommand="selectid,标题,时间from日志库orderby时间desc"EndIfEndIfEndSubProtectedSubcreatechildtree(ByValparentnode,ByValparentid)’树目录的过程DimmyconnAsNewSqlConnectionDimmycommAsNewSqlCommandDimmyreaderAsSqlDataReaderDimtnAsTreeNodemyconn.ConnectionString=ConfigurationManager.ConnectionStrings("conn").ConnectionStringmyconn.Open()mycomm.CommandText="select*from日志栏whererootid=@rootid"mycomm.Parameters.Add("@rootid",SqlDbType.Int).Value=parentidmycomm.CommandType=CommandType.Textmycomm.Connection=myconnmyreader=mycomm.ExecuteReader()DoWhilemyreader.Read()tn=NewTreeNodetn.Text=myreader("txt").ToStringtn.NavigateUrl="date.aspx?id="&myreader("id")createchildtree(tn,myreader("id"))parentnode.childnodes.add(tn)Loopmyreader.Close()mycomm.Dispose()myconn.Dispose()EndSub3.5留言页面实现目标:留言页面显示留言信息,并供所有身份的用户留言。1.留言页面massage.aspx如下图1-5所示:2.设计思路当访问者访问留言页面时,通过验证这个访问者是否登入博客,而不验证访问者的身份和权限,留言是自由的,GridView1显示所有的留言,而当访问者为游客时,提示为游客身份,显示“现在注册”链接,Button1_click事件提交对博客的留言内容,并验证留言是否为空。3.页面添加代码如下所示:ImportsSystem.Data.SqlClientImportsSystem.DataImportsSystem.Configuration图1-5Page_load和提交按钮Button1_click、重置按钮Button2_click事件的VB代码:DimuidAsStringProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Loaduid=Session("uid")Label2.Text=uidIfuid=""ThenCheckBox1.Checked=TrueLabel2.Text="游客"’没有登入默认为“游客”ElseLabel1.Text="你已登入博客网站:"’登入博客时的提示信息HyperLink1.Visible=FalseEndIfEndSubProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.ClickIfTextBox1.Text=""ThenResponse.Write("<script>alert('留言不能为空');location.href='massage.aspx';</script>")ReturnEndIfDimmyconnAsNewSqlConnectionDimmycommAsNewSqlCommandmyconn.ConnectionString=ConfigurationManager.ConnectionStrings("conn").ConnectionStringmyconn.Open()mycomm.CommandText="insertinto留言(账号,内容,时间)values(@zh,@nr,@sj)"mycomm.Parameters.Add("@zh",SqlDbType.Char).Value=Label2.Textmycomm.Parameters.Add("@nr",SqlDbType.Char).Value=TextBox1.Textmycomm.Parameters.Add("@sj",SqlDbType.DateTime).Value=Nowmycomm.CommandType=CommandType.Textmycomm.Connection=myconnTrymycomm.ExecuteNonQuery()CatchexAsExceptionmycomm.Dispose()myconn.Dispose()Response.Write("<script>alert('留言失败');location.href='massage.aspx';</script>")ReturnEndTryPage.Response.Redirect("massage.aspx")mycomm.Dispose()myconn.Dispose()EndSubProtectedSubButton2_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton2.ClickTextBox1.Text=""EndSub3.6登入页面实现目标:当登入用户输入的账号跟密码正确时,成功登入博客页面,然后跳转到博客首页。1.登入页面login.aspx如下图1-6所示:图1-62.设计思路登入页面只有用户名跟密码的输入框,输入信息后按登入按钮触发Button1_Click事件,检查输入的用户名和密码,查找博客数据库里是否存在此用户,如果存在,则跳转到博客首页,Page_Load事件查看实行登入操作的访问者是否登入,如果已登入则提示先登出。3.页面添加代码如下所示:Page_Load和登入按钮Button1_click事件的VB代码:ImportsSystem.Data.SqlClientImportsSystem.DataImportsSystem.ConfigurationDimuidAsStringProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.LoadIfNotPage.IsPostBackThenuid=Session("uid")’取上一页传递过来的参数Ifuid<>""ThenResponse.Write("<script>alert('你已登入,请先登出');location.href='index.aspx';</script>")EndIfEndIfEndSubProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimmyconnAsNewSqlConnectionDimmycommAsNewSqlCommandDimmyreadAsSqlDataReaderDimcountAsIntegerDimzh,mmAsStringzh=Trim(TextBox1.Text)mm=Trim(TextBox2.Text)myconn.ConnectionString=ConfigurationManager.ConnectionStrings("conn").ConnectionStringmyconn.Open()mycomm.CommandText="selectcount(*)from账户where账号=@zhand密码=@mm"mycomm.Parameters.Add("@zh",SqlDbType.Char).Value=zhmycomm.Parameters.Add("@mm",SqlDbType.Char).Value=mmmycomm.CommandType=CommandType.Textmycomm.Connection=myconnmyread=mycomm.ExecuteReadermyread.Read()count=myread.GetValue(0)myread.Close()Ifcount<>0ThenSession("uid")=zhPage.Response.Redirect("index.aspx")Elsemycomm.Dispose()myconn.Dispose()Response.Write("<script>alert('账号或密码错误');location.href='login.aspx';</script>")ReturnEndIfmyconn.Dispose()mycomm.Dispose()EndSub3.7注册页面实现目标:博客的用户注册,注册的用户的身份为一般用户。1.留言页面register.aspx如下图1-7所示:2.设计思路访问者填写好注册信息后,通过Button1_click事件验证输入的用户名是否重复、密码是否一致,RegularExpressionValidator1检验邮箱不为空时格式是否正确。3.页面添加代码如下所示:提交按钮Button1_click和重置按钮Button2_click事件的VB代码:ImportsSystem.Data.SqlClientImportsSystem.DataImportsSystem.Configuration图1-7ProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimzh,mm,yx,qr,groupAsStringgroup="一般用户"zh=Trim(TextBox1.Text)mm=Trim(TextBox2.Text)qr=Trim(TextBox3.Text)yx=Trim(TextBox4.Text)Ifzh=""ThenResponse.Write("<script>alert('账号不能为空');location.href='register.aspx';</script>")ReturnEndIfIfmm=""ThenResponse.Write("<script>alert('密码不能为空');location.href='register.aspx';</script>")ReturnEndIfIfmm<>qrThenResponse.Write("<script>alert('两次密码不一致');location.href='register.aspx';</script>")ReturnEndIfDimmyconnAsNewSqlConnectionDimmycommAsNewSqlCommandmyconn.ConnectionString=ConfigurationManager.ConnectionStrings("conn").ConnectionStringmyconn.Open()mycomm.CommandText="insertinto账户(账号,密码,邮箱,用户组)values(@zh,@mm,@yx,@group)"mycomm.Parameters.Add("@zh",SqlDbType.Char).Value=zhmycomm.Parameters.Add("@mm",SqlDbType.Char).Value=mmmycomm.Parameters.Add("@yx",SqlDbType.Char).Value=yxmycomm.Parameters.Add("@group",SqlDbType.Char).Value=groupmycomm.CommandType=CommandType.Textmycomm.Connection=myconnTrymycomm.ExecuteNonQuery()Session("uid")=zhCatchexAsExceptionmycomm.Dispose()myconn.Dispose()Response.Write("<script>alert('账户已被注册,注册失败');location.href='register.aspx';</script>")ReturnEndTryPage.Response.Redirect("index.aspx")mycomm.Dispose()myconn.Dispose()EndSubProtectedSubButton2_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton2.ClickTextBox1.Text=""TextBox2.Text=""TextBox3.Text=""TextBox4.Text=""EndSub3.8注册提示页面实现目标:注册者查看注册信息,选择是否注册,选同意跳转到注册页面,反对则返回首页。1.注册提示页面maple.aspx如下图1-8所示:图1-82.设计思路注册者阅读注册要求后选择是否要注册,LinkButton1_Click事件返回到博客首页,而第二个LinkButton2_Click事件是进入到注册页面。3.页面添加代码如下所示:反对链接LinkButton1_Click和同意链接LinkButton2_Click事件的VB代码:ProtectedSubLinkButton1_Click(B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省广州中科2025届高一数学第一学期期末调研模拟试题含解析
- 辽宁抚顺市六校协作体2025届高二生物第一学期期末考试模拟试题含解析
- 2025届江苏省苏州五中语文高三第一学期期末达标检测模拟试题含解析
- 之江教育评价2025届高一生物第一学期期末预测试题含解析
- 河南省南阳市南阳一中2025届高一生物第一学期期末综合测试试题含解析
- 2025届四川省蓬安二中生物高一第一学期期末考试试题含解析
- 陕西韩城象山中学2025届数学高二上期末调研模拟试题含解析
- 宁夏银川二十四中2025届高二生物第一学期期末联考模拟试题含解析
- 2025届云南省德宏州生物高三第一学期期末调研试题含解析
- 2025届陕西省渭南市蒲城县高二上生物期末达标检测模拟试题含解析
- 沪教版英语七年级上册第一二单元Unit1-2月考完整试卷(含听力和答案)
- 华师大版八年级上册数学全册配套ppt教学课件
- 幼儿园建筑调研报告
- 新异化的诞生:社会加速批判理论大纲
- GB/T 17421.2-2023机床检验通则第2部分:数控轴线的定位精度和重复定位精度的确定
- 西政安徽校友会通讯录
- 浙江省某学校初中科学实验专题-物质的推断课件
- 教师现实表现材料教师公招现实表现材料
- 实用西门子300-400以太网通讯教程
- 北师大版四年级数学上册全册教学反思
- 小学数学-三步计算的混合运算教学设计学情分析教材分析课后反思
评论
0/150
提交评论