您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > c_第21章__文章发布系统
第21章文章发布系统ASP.NET是建立在.NETFramework之上的Web开发框架,其可以建立强大的Web应用程序。在本章中,将以一个文章发布系统为例,介绍如何应用C#语言开发一个Web应用程序,同时也介绍一些基本的设计方法和技巧。对于初学者来说,本章例子对于掌握C#的Web应用程序开发具有很好的入门和指导意义。21.1什么是系统随着信息化的普及,越来越多的信息都放到网络上进行发布。这样,文章管理系统的应用越来越广泛。在实际工作中,如果采用传统的静态页面进行保存文章内容,然后再传到服务器中,那么管理员每天就不得不花费很多的时间来制作静态网页。但是如果利用数据库和动态网页技术来保存文章信息,就可以很大程度上减少信息管理人员的工作量,提高了工作效率。这就是一个最基本的文章系统。21.2第一步:需求分析一个比较完善的文章发布系统不只是添加文章,它还能根据用户选择的版块进行内容分类,自动发布所选的信息内容。同时,可以根据不同的管理员权限进行后台文章管理操作。一般地,文章发布系统的主要功能包括文章分类管理、文章发布管理、文章信息管理、文章查询管理、文章信息浏览等5大模块。21.3第二步:系统分析21.3.1功能结构分析在一个文章发布系统中,通常有搜索文章、推荐文章、为阅读过的文章计数、后台发布文章、添加文章分类等功能。在本章中,不会涉及很深的讲解,都是基础的知识点应用。21.3.2网站架设设计在进行文章系统的开发之前,先要对应用程序的开发环境进行了解。虽然在本例中,对于系统的环境要求没有什么特别的,但是一个团队中,一个实际的项目开发中,这是必不可少的过程。在本书中的实例虽没作过多要求,但是读者要有对开发平台架构的意识。21.4第三步:数据库与视图设计21.4.1数据库设计在本站中,采用了SQLServer2005数据库。下面用SQLServerManagementStudio建立一个数据库,将其命名为db_News。从初学者的角度出发,为了使初学者对本系统的后台数据库中的数据表有更清析的认识,笔者给出了一个数据表的树形结构,如图21.6所示。其中列出了在本系统中用到的所有数据表,同时也说明了它们的具体功能。21.4.2系统文件结构文章发布系统的文件结构包括Bin文夹、Swf文件夹(存放动画)、Admin文件夹(存放后系统)、Image文件夹(存放网站使用的图片)、Scripts文件夹(存放脚本程序)、Style文件夹(存放样式表)。21.5第四步:公共类编写21.5.1公共类的编写数据库操作类用于返回一个数据集。在这个类中定义一个静态的方法GetDataSet(),用于返回指定的数据集。当字段、方法、属性、事件、运算符和构造函数声明中含有static关键字时,它声明为静态成员。静态成员不能作用于具体的实例,在这类函数中引用this会导致编译时错误。读者可以这样理解:静态成员属于类,而实例成员属于对象(类的实例)。21.5.2配置文件的设置在前面的章节中,有一个SqlCon方法。它的作用是连接数据库。除此之外,还可以通过Web.config文件中配置数据库连接字符串。21.6第五步:前台开发在一个网站中,前台开发的工作主要包括:功能的策划、界面的设计等,在本例中,主要介绍导航条、数据绑定、搜索文章、推荐文章、阅读文章计数等功能的开发。另外由于篇幅问题,没有对界面设计进行一一介绍,请读者们参考相关书籍。21.6.1设计分析网站的前台主要是用于呈现内容,以及和网友互动等,所以这对于功能结构要能清晰的展示,让访问者能体会到功能实用的同时,也要在整个界面的视觉上处理好,不同种类的网站,应该用不同主题的风格。1.前台功能2.前台页面运行结果21.6.2导航的实现文章分类导航主要位于网站的顶部。当单击某个超链接时,就会跳转到相应的地方。在本例中,为了初学者能够更好地理解,没有用太难的方法实现,只是用了一个纯HTML语言表格做了一个导航。其运行效果如图所示。21.6.3推荐文章的实现在文章表中,有一个列名叫做article_Recommend。它的类型为int型,在本例中就是利用它实现文章推荐的。在添加文章的时候,如果没有推荐,就插入值为0。如果推荐该文章,就将其article_Recommend列的属性值插入1。在前台读取文章的时候,用SQL语句根据这个列的值是否为1来进行判断。如果为1,那就是要推荐的文章,则将它读取到文章推荐的位置中。21.6.4搜索文章的实现文章搜索是根据URL接收参数内容进行搜索的。例如在本例中URL参数为“k=XX”。这个参数传递到Search.aspx页中,形如“Search.aspx?k=XX”。在一般情况下,会将传递的内容进行加密。然后调用Request对象的QueryString属性获取参数的内容。接下来将它作为一个查询条件,和“article_Type”列、“article_Title”列、“article_Content”列作比对。比对可以用“=”,也可以用“LIKE”的方式,3个比对条件之间可以用OR进行连接。这在本书第16章中数据库的相关知识中可以查询到。21.6.5阅读文章的实现阅读文章的实现也是通过URL参数获取文章的ID列的值,然后查询文章。在本例中,主要获取的参数是文章表中的“article_ID”列,调用Request对象的QueryString属性获取参数的内容。它是文章的唯一标识,就像是人们的身份证一样。21.6.6阅读文章计数的实现阅读文章计数的实现主要是对文章表的article_Hit列进行更新。每点击一次,就进行一次更新。更新操作是将article_Hit列的内容加1。但是,这会带来一个问题。每当用户在刷新时候,它也会更新,这就需要对更新策略有一定的限制。21.7第六步:后台管理系统开发21.7.1设计分析后台管理系统主要实现文章管理功能,同时不能让普通访问者能够使用它,所以要对它进行登录验证。在本章中,没有进行复杂的验证,只是用session进行简单的验证。21.7.2管理员登录实现管理员登录过程是通过查询数据库中管理员信息表实现的。管理员在输入用户名和密码后,提交表单,然后根据用户名和密码查询数据表中是否有相关的表行。如果存在,表示存在此管理员,然后通过登录验证。21.7.3发布文章发布文章,实质上就是向文章表中插入数据的过程。这里用的是SQL语言的insertinto命令,代码如下。21.7.4修改、删除文章1.修改文章修改和删除文章是一个文章系统中,最常用的功能之一,它们两者都是对数据库进行操作。其中,修改文章相当于更新,执行的是SQL语句的更新命令。2.删除文章删除文章实际上就是在数据库中根据URL传递的文章ID号删除数据行,21.7.5安全退出系统安全退出功能极为重要。在一个系统中,这个功能通常情况下是必需的。安全退出能使登录信息在本地消除,他人无法再继续用自己的权限进行操作。在ASP.NET中,实现安全退出有很多种方式。在本例中,使用了相对简单的一种,只是将其过期时间减1。21.7.6登录认证登录认证也是一种安全策略,其基本意义就是判断用户是否登录。在本例中,由于登录时写入了Cookies,所以登录认证也是用它来判断的。21.8小结本章综合前面所学的知识,演示了一个文章发布系统的简单开发过程。主要是应用到了C#语言的数据库开发知识。另外,还涉及一些开发经验,本例并不能完全说明C#的Web开发方方面面的知识。笔者也只是从初学者的解度,从浅显的层面进行介绍。实际上,一个完善的文章发布系统不止文章的添加功能,它还有上传图片、生成静态页、编辑样式等功能。希望读者们学习完本书后,勤于动手,多动脑筋,循序渐进地学习。
本文标题:c_第21章__文章发布系统
链接地址:https://www.777doc.com/doc-4002456 .html