NET开发内容管理系统.docx
《NET开发内容管理系统.docx》由会员分享,可在线阅读,更多相关《NET开发内容管理系统.docx(28页珍藏版)》请在冰点文库上搜索。
NET开发内容管理系统
综合实训报告书
专业:
班级:
学号:
姓名:
指导教师:
实习方向:
ASP.NET
实习时间:
2012年5月28日--2012年6月29日
填表日期:
2012年6月29日
电子信息与传媒学院制
实习题目
新闻内容信息管理系统
指导教师评语及成绩:
成绩:
教师签名:
职称:
年月日
系审查意见:
审查成绩:
审查人签名:
职称:
系签章:
年月日
教务处终审意见:
终审成绩:
终审人签名:
职称:
公章:
年月日
摘要
随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间、人力和物力来处理信息更新和维护工作;遇到网站扩充的时候,整合内外网及分支网站的工作就变得更加复杂,甚至还需重新建设网站;如此下去,用户始终在一个高成本、低效率的循环中升级、整合。
于是一套专业的内容管理系统CMS应运而生,来有效解决用户网站建设与信息发布中常见的问题和需求。
本系统是针对新闻内容设计的一个管理系统,它是一个相对独立的B/S架构的信息管理系统,采用VisualStudio2010作为开发平台,C#为开发语言,SQLServer作为数据库平台,主要使用SQL语句,DateSet及控制类来实现数据库的操作。
使资源得以综合管理。
.NET框架是一种新的计算平台,基于.NET框架设计了一套适合小型的网站系统。
关键字:
内容管理系统,CMS,SQL,VS,.NET
目录
摘要1
第一章引言4
第二章需求分析5
2.1目标5
2.2运行环境5
2.3条件与限制6
2.4栏目设置6
第三章新闻CMS系统概要设计和详细设计7
3.1数据库E-R图7
3.2数据库详细设计7
3.3功能概要设计8
3.3.1功能概要8
3.3.2系统主要功能列表9
3.4页面概要设计----在网站中需要实现的页面9
3.5页面详细设计12
3.5.1前台首页12
3.5.2管理登陆页面12
3.5.3后台页面13
第四章用户界面设计及方案讨论14
4.1前台模板14
4.1.1banner的设计14
4.2首页14
4.2.1 广告跳转15
4.3 前台子页面15
4.4后台模板15
4.5后台页面16
4.5.1 后台页面简介16
4.5.2 后台首页16
4.5.3 CKEditor插件16
4.6后台登陆页面17
第五章系统实现18
5.1前台模板实现18
5.1.1banner的实现18
5.1.2导航栏的实现18
5.1.3网页布局(HTML+CSS)18
5.2首页(index.aspx)19
5.2.1网页的布局实现19
5.2.2 广告跳转实现20
5.2.3 LINQtoSQL20
5.2.4 数据显示的实现20
5.3前台子页面21
5.3.1 列表显示页面(list.aspx)21
5.3.2 详细内容显示页面(detail.aspx)21
5.4后台模板的实现22
5.5后台页面22
5.5.1后台页面汇总:
22
5.5.2登陆界面的实现:
23
5.5.3管理员浏览页面的实现:
23
5.5.4管理员增加页面的实现:
24
5.5.5管理员修改页面的实现:
24
5.5.6栏目的浏览页面的实现:
25
5.5.7栏目的增加页面的实现:
26
5.5.8栏目的修改页面的实现:
26
5.5.9新闻的浏览页面的实现:
27
5.5.10新闻的增加页面的实现:
27
结束语29
参考文献32
第一章引言
CMS是ContentManagementSystem的缩写,意为“内容管理系统”。
它具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本。
CMS内容管理系统包括二个主要模块:
前台显示模块、后台管理模块。
目标是实现前台内容的发布完全模块化、简单化。
可以进行站点群的管理和内容分发,可以针对各种内容进行分类和发布管理。
ASP是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。
指ActiveServerPages(动态服务器页面),运行于IIS之中的程序。
自从MS推出ASP技术后,由于ASP在创建动态交互式站点上的强大功能及其代码编写的简便性,使ASP在很多Internet/Intranet/Extranet网站上得到了极其广泛的应用,尤其是涉及到数据库操作的网站应用系统更是倾向于采用ASP技术。
此次实训,主要是利用c#语言,灵活运用ASP跟数据库的之间的数据传递,熟练掌握三层架构,以及各控件的灵活运用,最终得到一个完整的新闻内容管理系统。
第二章需求分析
2.1目标
网站新闻管理系统建设是信息化时代,随着Internet的普及,借助网络平台来提高新闻管理效率,新闻类型的多样性和复杂性是网络平台急需解决的原因。
一天之内全国乃至世界各地将发生不同种类的新闻素材,为了将其分类管理,并授权给不同的编辑进行处理,管理者对提交的文档能够更系统的反馈。
在网站建设中,将注重网络平台、应用体系、数据库体系和安全体系的规划和建设,实现以下目标:
(1)网络平台体系:
Microsoft.NetFramework1.1
(2)应用体系:
主要体现在信息的发布上;其中,录入员录入信息,领导审核同意后可发布该信息。
重点建设网站维护的安全性,如用户管理、用户权限管理、权限组管理、模块管理等,使信息能够方便、快捷、安全、可靠、及时、准确的发布;
(3)数据库体系:
建立分步式的数据库体系;具有信息采集、整理、数据备份和还原功能;
(4)安全体系:
建立标准统一、适应需要、切实可行的网络安全保障体系。
2.2运行环境
操作系统:
MicrosoftWindows2000AdvancedServer
支持环境:
MicrosoftVisualStudio2010
数据库:
MicrosoftSQLServer2005
开发工具:
ASP.net
2.3条件与限制
●信息录入使用嵌入式,类似word排版样式的文字排版格式;
●系统维护对权限维护有安全、密码保护;
●信息发布将对信息进行审核,有发布提示标志;
2.4栏目设置
第三章新闻CMS系统概要设计和详细设计
3.1数据库E-R图
3.2数据库详细设计
3.3功能概要设计
3.3.1功能概要
3.3.2系统主要功能列表
3.4页面概要设计----在网站中需要实现的页面
(1)新闻CMS系统前台模板页:
此页面为前台页面的模板,前台所有的页面几乎都是在此基础上设计的。
此页面只有导航栏和脚本的版权所有,导航栏上几乎包含了所有的设计到的栏目,点击可以转到相应的界面。
另外还增加了搜索功能。
(2)新闻CMS系统前台首页:
首页(web/index.aspx)是前台所有内容的缩影,可谓“麻雀虽小,五脏具全”。
此页面是在前台模板页的基础上建立的。
页面的中心分了分成六块,分别放置焦点新闻、普通新闻、图片新闻、视频、关键字、和杂七杂八栏目等内容。
页面中内容的显示,都是只显示新闻的标题,若字数超过预计的长度,在显示预计长度标题的基础上,就会以“……”结束。
进入此界面后,若想要进入其他网站,还可以通过“友情连接”转到界面。
(3)新闻列表页面:
此页面是也是在前台模板的基础上建立的。
当点击前面页面的关键字或是栏目跳转到此页面,显示的是关于所点击内容的新闻列表。
(4)新闻详细内容页面:
此页面是也是在前台模板的基础上建立的,是从首页或其他页面由点击新闻标题而跳转过来的,显示的是所点击的新闻的详细内容。
另外,在新闻内容的下方是供浏览者评论的地方,可以提交相应的新闻评论信息。
(5)管理员登陆:
此页面是管理员进入后台前必须经过的页面。
包含用户名和密码以及登陆按钮。
(6)新闻CMS系统后台模板页:
此页面为后台页面的模板,后台所有的页面几乎都是在此基础上设计的。
此页面只有导航栏,导航栏上几乎包含了所有的设计到的后台修改栏目,点击可以转到相应的界面。
(7)修改管理员个人信息:
此页面是管理员修改密码或个人信息的界面。
此页面包括原密码、新密码、确认密码、真实姓名以及确认按钮等。
(8)栏目的列表与删除:
此页面是在后台模板的基础上建立的。
当进入此页面后首先显示的是所有栏目的列表,
另外可以根据需要删除栏目。
下面是增加栏目的按钮。
(9)栏目增加与修改:
此页面是在后台模板的基础上建立的。
栏目的增加和修改都是在此页面上进行。
此页面包括栏目名称、栏目描述、父栏目以及确认按钮等。
(10)新闻的列表与删除:
此页面是在后台模板的基础上建立的。
当进入此页面后首先显示的是所有新闻的列表,
另外可以根据需要删除新闻。
下面是新闻增加的按钮。
(11)新闻的增加与修改:
此页面是在后台模板的基础上建立的。
新闻的增加和修改都是在此页面上进行。
此页面包括新闻标题、新闻简介、报道者信息、发表日期、关键字、图片、所属栏目、新闻内容以及确认按钮等。
(12)新闻评论的列表与删除:
此页面是在后台模板的基础上建立的。
当进入此页面后首先显示的是所有新闻的列表,
另外可以根据需要删除新闻。
(13)管理员的增加:
此页面是在后台模板的基础上建立的。
管理人员的增加在此页面上进行。
此页面包括用户名、密码、确认密码、真实姓名以及确认按钮等。
(14)管理员的列表与删除:
此页面是在后台模板的基础上建立的。
当进入此页面后首先显示的是所有管理员的列表,另外可以根据需要删除管理员。
下面是增加管理员的按钮。
3.5页面详细设计
3.5.1前台首页
3.5.2管理登陆页面
3.5.3后台页面
第四章用户界面设计及方案讨论
4.1前台模板
制作模板,首先要学会HTML+CSS布局,掌握了这些知识,布局的实现就不太困难了。
较麻烦的一部分就是各部分宽度和高度的确定。
在找到相应图片的同时,对于各个图片的美化也是一个很简单的工作。
此页面顶端是本站的特色-banner,banner的下方是导航栏,然后是内容填充区域,在下边就是版权所有。
4.1.1banner的设计
首先是从网上搜索相应的模板、图片等,然后就是运用flash知识,分割、处理、美化图片,再加上相应的文字,最终达到想要的效果。
最后再将其保存,并运用在网页上。
4.2首页
此页面是在前台模板页的基础上建立的。
页面的中心分了分成六块,分别放置焦点新闻、普通新闻、图片新闻、视频、关键字、和杂七杂八栏目等内容。
此页面的实现也是必须用HTML+CSS布局,将整个内容分割成若干个小块,分别放置预期设计的东西。
因此,此页面的细工页是必不可少的。
此页面较为麻烦的是细节的操作,比如某个按钮要放置再什么位置,某个小图片要掺杂在什么里面,都需要花费很多时间去实现。
4.2.1 广告跳转
此功能的实现并不困难,运用的是之前学过的知识,还可以用javascript的知识完成。
4.2.2 数据的显示
此部分的实现主要是学会如何与数据库连接,当熟练了这部分的知识,此功能的实现就显得不在话下啦。
调用数据库有两个方法,一个是运用所学的三层架构,也就是老师一直在提倡使用的;另一个就是运用linqsql语句,虽然老师没有讲,但对于对语言掌握差不多的同学来讲,还是很容易接受的。
我就是运用linq语句实现的。
4.3 前台子页面
子页面共有两个,一个显示的是相关新闻的全部列表,另一个是显示相应新闻的具体内容。
显示列表的页面设计与实现就不具体说了,跟前面首页中的十分相似,只是连接数据库以及相关控件的具体使用。
显示具体新闻的页面并不是那么好设计,因为有的新闻的内容很多,而有的新闻的内容就很少,要想全部显示,并且页面布局也很好看,就需要小很多功夫再次学习HTML+CSS布局的知识啦。
另外,显示完新闻的下侧还留出添加评论的地方。
包括用户名、评论、提交按钮等。
4.4后台模板
在学会了制作前台模板的基础上,后台模板的制作就显得很“轻而易举”啦--HTML+CSS布局,一个基本的框架就成型啦。
然后就是图片的处理,矫正各部分的宽度和高度等。
4.5后台页面
4.5.1 后台页面简介
后台页面总共加起来大约需要十多个,可喜的是几乎所有的页面都是相同的格式,因此做起来也是比较方便的。
在前台各个页面实现设计的基础上,此几个页面的实现并不是很复杂的,仅仅是控件的使用、数据的填充、显示等。
唯有棘手的就是新闻内容页的填充,此处,用到了CkEditor插件。
数据的显示并不苦难,简单的数据库数据调用、数据库恰当运用等。
4.5.2 后台首页
此页面并不复杂,在后台模板页的基础上仅仅加了几行欢迎语句而已。
主要是为管理员提供其他的操作。
4.5.3 CKEditor插件
新闻的添加和修改当然离不开内容项的填充,而仅仅用网站中提供的Textbox或是Texterea是远远不够的,因为新闻在需要填充的文字内容的时候,图片也是必不可少的,而这些控件却都不能够实现。
因此便用到了CkEditor插件。
学会此部分的知识也不是一时半会的事,需要的不仅仅是从课本上搜集,还需要上网上查询更多的相关知识。
此部分的实现主要是学会如何与数据库连接,当熟练了这部分的知识,此功能的实现就显得不在话下啦。
4.6后台登陆页面
由于后台页面的并不是所有用户都可以进入、随便修改数据的,所以要想修改数据必须先进入登陆页面,此页面仅仅包括用户名、密码和登录按钮,众所周知,当用户名和密码都正确时才可以进入其他的管理界面。
密码错误或是用户名不存在,都只会停留在登陆界面。
第五章系统实现
5.1前台模板实现
5.1.1banner的实现
首先,我们从网上搜了很多关于新闻的banner,但都由于不太符合我们自己的主题和风格,因此取其所长,运用flash知识,经过多次分割、合并、色彩处理、美化图片等,再加上相应的文字,最终达到想要的效果。
最后一个属于我们自己的banner就成型了。
如下图:
5.1.2导航栏的实现
导航栏的实现并不困难,需要的就是“精确”,即不论颜色、大小还是形状都要跟banner和网站风格相对应。
主要运用的是flash和style的设计。
5.1.3网页布局(HTML+CSS)
网页布局对于我们来说还真是个大麻烦,学起来、听起来、看起来好像都是那么的“不在话下”,可为什么真正做起来却是那么的困难呢?
看来仅仅是纸上谈兵还是不行的。
开始我们是先在DreamweaverCS4中利用DIV布局的,然后调出相应的代码到C#中,然后研究代码,但有些东西真的有些难理解,毕竟也不是我们需要的HTML+CSS布局,于是又改变了方向。
接着是表格的运用,毕竟表格还是有限的,很多想要的布局都做不出来,当然,此方法又舍弃啦。
最后我们摸索着,开始自己尝试写代码,HTML+CSS,不会的就XX,XX也不理解的就老师出马,最终,终于掌握了最基本的HTML+CSS布局。
喜出望外,其实没有什么是不可克服的,只要你用心去学习。
5.2首页(index.aspx)
5.2.1网页的布局实现
在模板页的基础上,对于HTML+CSS布局的知识掌握和运用的灵活度还算是可以的,但
遇到麻烦的还是有些棘手,越是精确的布局就越是复杂,需要的就是细心和耐心,不过还好,困难最终都被一一克服掉了,页面布局效果图如下:
5.2.2 广告跳转实现
此功能的实现并没有浪费多少时间和精力,运用javascript的知识完成的。
每次运行界面,都有不同的广告显示,当然广告的条数和相应的广告都是自己设计的。
5.2.3 LINQtoSQL
Linqtosql全称Language-IntegratedQuery,语言级集成查询。
定义了一组可以再》NET编程语言中使用的通用标准查询运算符。
使用这些标准查询运算符可以投影、筛选和遍历内存中的集合或数据中的表。
首先在网站中新建LINQtoSQL类,然后连接相应的数据库,以后用的时候将其实例化,在操作相应的sql语句就行啦。
5.2.4 数据显示的实现
此部分的实现主要是运用了Repeater控件。
首先是从工具箱中拽出Repeater控件,然后是在代码段页面中写入相应的连接数据库代码,调出相应表的内容。
最容易忽视的是数据绑定到控件上,便常常会出现为预料的问题—没有数据显示。
然后是显示的格式。
因为新闻显示的几乎都是标题,另外标题的字数还会有限制,所有要在控件中的中需要设置新闻的长度:
<%#Eval("news_intro").ToString().Length>25?
Eval("news_intro").ToString().Substring(0,23)+"...":
Eval("news_intro").ToString()%>。
5.3前台子页面
5.3.1 列表显示页面(list.aspx)
此页面的实现跟首页的实现很相似,主要是运用了Repeater控件。
唯一不同的不要设置太多的文字格式。
由于是在首页的基础上,所有实现的更是得寸应手。
所显示的内容是由前台页面决定的,传过来的是关键字,所有检索的新闻是包含关键字的新闻。
点击相应的标题或者是图片,都可以跳转到显示新闻详细内容的页面中去,同时传过去相应的新闻ID。
列表页面效果如图所示:
5.3.2 详细内容显示页面(detail.aspx)
此页面的实现主要也是运用了Repeater控件。
相应的实现也并不困难。
此页面所显示的内容是由前台页面决定的,接收到的是相应新闻的ID,因此显示相应新闻的详细内容。
另外,此页面的下方也新加了评论功能,可以发表自己的看法。
用户不需要注册,只需要留下自己的用户名(别名)就行,点击提交,即可发表自己的评论。
页面效果如图所示:
点击发表后,若评论成功会提示,不然会报错。
5.4后台模板的实现
此页面的实现跟前台模板很相似,也可以说是在模仿前台模板的基础上实现的。
唯一的不同就是去掉了“版权所有”,换了换导航栏目名。
最终效果如图所示:
5.5后台页面
5.5.1后台页面汇总:
后台页面严格说来总共有十二个,分别是管理员的增加(adminAdd.aspx)、浏览(adminModify.aspx)、修改(adminUpdate.aspx),栏目的增加(forumAdd.aspx)、浏览(forumModify.aspx)、修改(forumUpdate.aspx),新闻的的增加(newsAdd.aspx)、浏览(newsModify.aspx)、修改(newsUpdate.aspx)、查看(newsDetail.aspx),登陆页面(login.aspx)和首页(index.aspx);下面我将会对各页面一一介绍。
5.5.2登陆界面的实现:
此页面仅仅是包含了两个文本框,分别填写用户名和密码,另加一个登陆按钮,点击登陆按钮后,先是去判断所输入的用户名和密码是否在数据库中存在,若存在即账号和密码正确,跳转到后台管理页面,进行管理员操作,否则将会报错,留在登陆页面。
页面的效果图如图所示:
5.5.3管理员浏览页面的实现:
此页面是以后台模板建立的。
通俗的说就是管理员查看其他管理人员,还可以进行删除操作。
此页面的实现仅仅只用了一个GridView控件,然后绑定到数据库,勾上高级操作,加上删除和分页项,运行就会显示全部的管理人员信息。
显示效果图如下:
5.5.4管理员增加页面的实现:
此页面是以后台模板建立的。
点击“管理浏览”页面中的增加管理员按钮便会跳转到此页面。
此页面包括三个文本框和三个按钮,分别是用来填写用户名、密码、真实姓名;点击检索按钮,可以事先判断用户名是否合法,免得注册失败后再回来重新填写信息;点击取消按钮可以返回到“管理浏览”页面;点击确认按钮可以增加管理人员。
效果图如下:
当增加成功后,会给出增加成功的提示。
如图所示:
5.5.5管理员修改页面的实现:
点击“管理浏览”页面中的管理员名称时便会跳转到此页面。
此页面包括三个文本框和两个按钮,分别是用来填写原密码、新密码、确认密码;点击确定按钮后,便可以提交修改信息,修改成功后会给与相应的提示;点击取消按钮可以返回到“管理浏览”页面。
效果图如下:
5.5.6栏目的浏览页面的实现:
点击导航栏上“栏目管理”便会跳转到此页面。
此页面的实现仅仅只用了一个GridView控件,然后绑定到数据库,勾上高级操作,加上删除和分页项,运行时就会显示全部的栏目信息。
管理员可以相应的对其进行删除操作,同时点击增加栏目按钮就可以跳转到增加栏目的页面;点击栏目的名称,可以进入修改栏目信息的界面。
显示效果图如下:
5.5.7栏目的增加页面的实现:
点击上面“栏目浏览”页面中的增加栏目按钮就会跳转到此栏目。
此栏目涉及两个文本框和一个下拉列表,分别填写栏目名称和对栏目的描述,通过下拉按钮来勾选所属父栏目。
点击保存按钮,便可以将栏目信息添加到数据库。
相应的点击返回按钮,就会返回到原先的页面。
运行效果如下图:
5.5.8栏目的修改页面的实现:
点击“栏目浏览”页面中的栏目名称后便会跳转到此页面。
此页面与上面的栏目增加页面非常相似,唯一不同的是:
进入此页面后首先会显示原来的信息,自己可以对此进行相应的修改。
点击确认按钮就会将信息调教到服务器;点击取消按钮就会返回原来的页面。
当然,修改成功后系统会给与相应的提示。
效果图如图所示:
5.5.9新闻的浏览页面的实现:
点击导航栏上“新闻管理”便会跳转到此页面。
此页面的实现仅仅只用了一个GridView控件,然后绑定到数据库,勾上高级操作,加上删除和分页项,运行时就会显示全部的新闻信息。
管理员可以相应的对其进行删除操作,同时点击增加新闻按钮就可以跳转到增加新闻的页面;点击新闻的名称,可以进入修改相应新闻信息的界面。
显示效果图如下:
5.5.10新闻的增加页面的实现:
新闻的添加和修改当然离不开内容项的填充,而仅仅用网站中提供的Textbox或是Texterea是远远不够的,因为新闻在需要填充的文字内容的时候,图片也是必不可少的,而这些控件却都不能够实现。
因此便用到了CkEditor插件。
学会此部分的知识也不是一时半会的事,需要的不仅仅是从课本上搜集,还需要上网上查询更多的相关知识。
此部分的实现主要是学会如何与数据库连接,当熟练了这部分的知识,此功能的实现就显得不在话下啦。
运行界面如图所示:
结束语
12月7号,我们开始专业课的实训工作,工作内容为:
内容管理系统。
老师传给了一些往年学生写的实训报告还有一些关于内容管理系统的资料后,几个周的实训工作就这样匆匆开始啦。
实训的第一周是自主学习,学习一些关于内容管理系统的知识,这些我们不太熟,但也不陌生。
“对于我们软件班的人来说,内容管理系统要必须会做”,这是老师对我们说的话,当然,也是我们应该做到的。
一周就这样匆匆过去,学习也就这么草草结束了,所学到的不是甚多,但大体也是了解了。
实训真正开始了,前期工作就是分组。
作为软件人员,团队合作精神是比不可少的,老师也是借助这个机会锻