摘要
ASP.NET是新一代Web应用程序开发平台,它是一个已编译的、基于.NET的开发环境,它提供了生成企业级应用程序所必需的全部服务,基于 .NET Framework 生成,整个框架都可用于任何 ASP.NET 应用程序。可以使用任何与公共语言运行库(CLR)兼容的语言(包括 Visual Basic.NET、C# 和 JScript .NET)来创建应用程序。该系统使用ASP.NET(C#语言)和ADO.NET技术开发, 实现了网站新闻的动态管理,使得对信息的管理更加及时、高效,提高了工作效率,具有一般新闻系统的功能,主要包括前台新闻查看区和后台管理区,可为学校各部门发布新闻,为校园网站提供新闻发布与管理的服务。
关键词 ASP.NET ADO.NET 新闻管理 Browser/Server
.NET to Develop the News Briefing Administrative System of the Campus
Liu Jungang
(Dept. of Computer and Information Science, Southwest Forestry College, Kunming, Yunnan, 650224, China)
Abstract ASP.NET is Web application program developing platform of new generation, it is one that has already compiled , development environment based on .NET, it has offered and produced all essential services of application program of enterprise layer, produce because of .NET Framework, the whole frame can be used in any ASP.NET application program. Can use any to operate the compatible language (including Visual Basic.NET , C# and JScript .NET ) of storehouse (CLR ) to establish application program with common language . This news system uses ASP.NET (C#) and ADO.NET technological development, has realized the dynamic management of website’s news, make the control over information more prompt , more high-efficient , has improved working efficiency. News this system have general news function of system, mainly including front desk news person who look over and back-stage management area, can release news for every department of the school , offer news briefing and management one service for campus website.
Keywords ASP.NET ADO.NET NewsManagement Browser/Server
目 录
引言 1
第一章 研究背景 2
1.1 国内外研究现状及发展趋势 2
1.2 研究目的、意义和范围 3
第二章 课题分析 4
2.1 需求分析 4
2.2 新闻系统的性能需求 5
2.3 运行环境要求 6
2.3.1设备 6
2.3.2支持程序 6
第三章 系统结构流程 6
3.1 新闻系统的模型结构 6
3.2 新闻系统的功能模块简介 7
第四章 使用技术的介绍 9
4.1 .NET Framework概述 9
4.2 ASP.NET、ADO.NET和C#语言简介 10
第五章 新闻系统的主要开发过程 12
5.1 数据库设计 12
5.2各主要窗体页的图形界面介绍 13
5.3 页面的风格设计 15
5.4 系统配置 15
5.4.1 Web.config文件配置 16
5.4.2 配置发布主页 16
5.5 系统部分重要功能及其代码 19
5.5.1 Web用户控件 19
5.5.2 通用类代码 19
5.5.3 添加发布新闻 27
5.5.4 用户注册 29
结束语 31
参考文献 32
致谢…………………………………………………………………………………………………… 33
引言
ASP.NET是微软公司最新推出的一种统一Web开发平台,与最新的数据访问技术ADO.NET一起可构建出强大、安全和可靠的企业级Web应用程序。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。
采取了ASP.NET技术的系统在性能上有了很大的改善,主要表现在以下几方面:
● 由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。这使得在多次访问时速度有了极大的提升;
● 由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而ASP.NET通过ADO.NET提供的DataGrid等数据库元件可以直接和数据库联系;
● ASP.NET支持应用程序的实时更新,管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖,当文件更新后,系统会温和地转换到新的版本;
●ASP.NET采取"CodeBehind(代码分离)技术"方式编写代码使得代码更易于编写,结构更清晰,降低了系统开发与维护的复杂度和费用。
第一章 研究背景
1.1 国内外研究现状及发展趋势
传统的网站新闻管理方式有两种:一种是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用;另一种是基于ASP和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行的做法。但是由于ASP技术本身的局限性使得系统有一些不可克服的缺陷。
ASP.NET不仅仅是下一版本的ASP(Active Server Pages,动态服务器页面),而且是建立动态Web应用程序而重新打造的全新技术,其主要特色包括:
● 语言的独立性;
● 简单的开发操作,分离程序代码和网页内容;
● 提高了执行效率;
● 简化部署与组态的操作;
● 支持客户端类型;
● 支持下一代的Web服务;
● 增进适用性;
● 增进延展性;
● 更多的支持工具;
● 更佳的安全机制;
● 会话(Session)可以跨进程、跨机器。
由于ASP.NET的众多优点,技术发展和各种客观实际的需要,该系统选用了ASP.NET来开发设计,实现了对校园新闻的动态管理操作,使得对新闻信息的发布与管理更加及时、高效,提高了工作效率。
1.2 研究目的、意义和范围
随着Internet的普及,越来越多的企业建立了自己的WWW网站,企业通过网站可以展示产品,发布最新动态信息,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。
其中新闻管理系统是构成企业网站的一个重要组成部分,它担负着双层作用:
一方面可以用来动态发布有关新产品或新开发项目;
另一方面又可以及时向顾客公告企业经营业绩、技术与研发进展、特别推荐或优惠的工程项目、产品和服务,从而吸引顾客,扩大顾客群。
该系统使用ASP.NET(C#语言)和ADO.NET技术开发, 实现了网站新闻的动态管理,使得对信息的管理更加及时、高效,提高了工作效率。该新闻系统具有一般新闻系统的功能,主要包括前台新闻查看区和后台管理区,可为学校各部门发布新闻,为校园网站提供新闻发布与管理的服务。
该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于.NET平台架构开发设计,主要实现对校园新闻的发布与管理功能,对新闻内容信息的浏览阅读等。 随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于B/S模式的新一代MIS(Management Information System,管理信息系统)系统,正成为技术发展的趋势。为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。
第二章 课题分析
2.1 需求分析
该系统的用户为校园网站,需要经常发布一些新闻,如何能有效地管理和发布新闻呢?最初用户的需求为:“该新闻系统具有一般新闻系统的功能,同时具有新闻审核和不同管理员不同管理权限的功能” 。
通过对其它一些新闻系统的调查发现,一般新闻系统功能如下:
前台按分类显示新闻;
搜索新闻;
后台管理:
● 添加、删除和修改新闻
● 添加、删除和修改用户
● 添加、删除和修改新闻分类
● 添加新闻(添加成功后的新闻根据管理员权限分为可发布新闻和待审核新闻)
需要新闻审核,说明添加后的新闻分为两种:直接发布新闻和待审核新闻,同时待审核的新闻通过管理员或审核员经审核后才可以上传到网站,管理员有不同的权限,需要有个管理权限的功能,在系统中应该有个超级管理员,具有所有权限,能够对系统进行全面管理,同时管理员可以修改自己的一些信息。
根据校园网站新闻发布管理的实际需求,在首页中能显示最热门新闻、头条新闻和最近发布的几条新闻等,同时在后台发布新闻时可以添加图片,也可以添加HTML语法,在前台能自动根据所显示的图片和HTML语法来显示新闻。
在后台管理中,因为有权限的管理员才能登录管理后台,所以需要有个登录验证模块,而且需要根据用户权限的不同显示不同的管理目录,在管理新闻和用户时,当数据少时管理起来还比较方便,如果一多则想找到某条新闻或某个用户就很难,所以需要有个查找(新闻标题、用户)模块用于查找新闻或用户。
根据以上需求分析,该系统要实现的主要功能为:
前台显示新闻部分
● 用户登录区
● 显示最热门的前几条新闻
● 显示推荐的前几条新闻
● 显示最新的前几条新闻
● 搜索新闻功能
● 显示所有新闻分类(即部门)
● 按分类/部门显示其下的所有新闻
● 新闻详细信息浏览阅读
● 图片新闻(自动生成缩略图)以滚动形式在首页显示且只显示前几条
● 网站友情链接(可在管理中添加设置)
● 网站公告可显示发布了新闻但没通过审核的一些相关通知等
后台管理部分
● 登录验证
● 根据权限显示相应的管理目录
● 添加、修改和删除新闻
● 管理发布新闻
● 管理审核新闻
● 分类管理
● 用户管理
● 网站风格设置、系统设置等
2.2 新闻系统的性能需求
该系统在性能功能上应达到如下需求:
操作简单、界面友好: 完全控件式的页面布局,使得新闻的录入工作更简便,许多选项包括新闻分类、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见网站的新闻管理的各个方面:新闻录入、浏览、删除、修改、搜索等方面都大体实现,实现了网站对即时新闻的管理要求;
即时可见:对新闻的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;
系统运行应该快速、稳定、高效和可靠;
在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
2.3 运行环境要求
2.3.1设备
客户机硬件要求:具有 Pentium III 处理器以上且满足以下要求的计算机:最低 64 MB 内存,最小 2.1 GB 硬盘。
服务器硬件要求:具有 Pentium III 处理器以上且满足以下要求的计算机:最低 256MB 内存,最小 8 GB 硬盘。
2.3.2支持程序
客户端
操作系统:Windows 98/NT/2000/XP或更高版本
浏览器:IE 5.0以上或Netscape同等版本以上
服务器
操作系统:Windows 2000 Server或者Windows 2003 Server
Web服务器:MS IIS
应用服务器:IIS、COM+等企业级应用服务器
数据库:ACCESS
第三章 系统结构流程
3.1 新闻系统的模型结构
该系统的模型结构如图3-1所示:
图3-1-1新闻系统的模型结构图示
该系统结构分为三个逻辑层:
Web 层:Web层为客户端浏览器提供对应用程序的访问,这一层是作为解决方案文件中的 Web 项目实现的。Web 层由 ASP.NET Web 窗体和代码隐藏文件组成,Web 窗体只是用 HTML 提供用户操作,而代码隐藏文件实现各种控件的事件处理程序;
业务层:包含各种业务规则和逻辑的实现,业务规则完成如客户帐户的验证和字符串处理这样的任务;
数据访问层:数据访问层为业务层提供数据服务,这一层是作为解决方案文件中的 Conn类(数据访问类,实现公共操作的一个通用类)实现的;
3.2 新闻系统的功能模块简介
图3-2-1列出系统的功能模块图:
图3-2-1 系统功能模块图示
工作流程为:
打开该系统网站,普通浏览者能浏览、阅读和搜索新闻,能进行注册,注册后为新闻输入员,登录进入新闻后台管理区, 只有添加新闻的权限;如登录时为新闻审核员,其不但有添加新闻的权限,还有审核和管理新闻的权限;如为系统管理员,其有新闻后台管理区内的所有权限,除具有新闻审核员所有的权限外,还有添加和管理新闻分类、添加和管理用户、系统、风格和友情链接设置。
在添加新闻时,除常规的添加新闻标题、新闻内容、新闻作者和新闻简介外,还可选择是否为首页新闻、是否为推荐新闻和是否在首页滚动图片(上传图片)等,对新闻内容的字体、字号和字体颜色可以调整,类似Word的一些简单的编辑功能,还可设置超链接和插入表格等。如添加新闻者为新闻输入员,其所添加的新闻需要系统管理员或审核员经审核后才能发布到网上;如是管理员或者审核员添加新闻的话,不需要再经谁审核,直接可以发布到网上。
管理新闻功能包括对任一条新闻内容可作相应修改,也可删除任何一条不再需要保留的新闻。管理新闻分类包括对新闻分类名称作修改,也可将任一分类名删除,删除后其分类下的所有新闻也将被删除。添加用户时,用户等级可为管理员、审核员或者输入员之一,管理用户包括修改用户名、密码和用户等级,也可将任一用户删除。
系统设置包括设置网站标题、网站地址、首页图片、网站公告(可用来显示当前有哪些新闻输入员所添加的新闻没有通过审核,具体的原因理由等)、网站链接(此文本内容可更改)和底部信息(可放置一些与站点相关的文本内容等),对系统设置里的内容,随时可做相应的修改,这权限只有系统管理员才拥有。风格设置指从系统八种风格里任选一种作为当前网站的默认风格。友情链接主要是以图片的形式链接到其它网站,作用跟系统设置里的网站链接功能一样。
(下载源码就到源码网:www.codepub.com)
第四章 使用技术的介绍
4.1 .NET Framework概述
.NET Framework 是用于 .NET 平台的编程模型,其关键组件是公共语言运行库(CLR,Common Language Runtime)和 .NET Framework 类库(包括 ADO.NET、ASP.NET 和 Windows 窗体),它提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成,是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。
.NET Framework 旨在实现下列目标:
提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的;
提供一个将软件部署和版本控制冲突最小化的代码执行环境;
提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境;
提供一个可消除脚本环境或解释环境的性能问题的代码执行环境;
使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致;
按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。
公共语言运行库是 .NET Framework 的基础,可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NET Framework 类库是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创建的应用程序(如 Web 窗体和 XML Web Services)。
4.2 ASP.NET、ADO.NET和C#语言简介
ASP.NET结构是一个三层系统:UI层、业务逻辑层和数据层,结构模型如图
4-2-1所示:
图4-2-1 ASP.NET的结构模型
● UI层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户;
● 业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由Web表单、XML Web Services和组件服务组成,其中Web表单是ASP.NET应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础;
● 数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。
ADO.NET提供对Microsoft SQL Server、OLEDB和XML公开的数据源的一致性访问,数据共享用户应用程序可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。
ADO.NET 有两个核心组件:DataSet 和 .NET Framework 数据提供程序,后者是一组包括 Connection、Command、DataReader 和 DataAdapter 4个对象在内的组件,其组件结构如图4-2-2所示:
图4-2-2 ADO.NET的组件结构图示
DataSet对象是 ADO.NET 的断开式结构的核心组件,实现独立于任何数据源的数据访问。Connection 对象提供与数据源的连接,是操作数据库的基础,表示应用程序和数据源之间的惟一会话。Command 对象能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令,实现对数据源的操作,如查询、插入、修改和删除等。DataReader 对象从数据源中读取只进且只读的数据流。DataAdapter 对象是DataSet 对象和数据源之间关联的桥梁,用数据源填充DataSet并解析更新。设计 ADO.NET 组件的目的是为了从“数据操作”中分解出“数据访问”。
C#语言是.NET中一种崭新的语言,C#是由C和C++派生而来的一种“简单、流行、面向对象、类型安全”的程序设计语言,C#意在综合Visual Basic的高效率和C++的强大功能。
第五章 新闻系统的主要开发过程
5.1 数据库设计
该系统使用Access作为应用程序的数据库,建立了有6张数据表:Lb_Admin表用于存储帐户的信息,Lb_Class表用于存储新闻分类信息,Lb_Links表用于存储友情链接信息, Lb_News表用于存储新闻内容, Lb_Setup表用于存储系统设置信息,Lb_Skins表用于存储页面风格。Lb_News表与Lb_Class表相关联。
在6个数据表中,主要介绍一下新闻表和账户表如下:
Lb_News表如表5-1-1所示:
表5-1-1新闻表
n_id为该表主键,n_cid为所属新闻分类ID,n_hit为点击数,n_commend用于判断是否为推荐新闻,n_index用于判断是否为首页新闻,n_title为新闻标题,n_date为发布新闻的日期,n_author为新闻发布者名,n_content为新闻内容,n_ispic用于判断是否为首页滚动图片,n_spic为首页所滚动图片的存储地址,,n_check用于判断是否为审核新闻(值为0表示未通过审核,值1表示通过审核),n_intro为新闻简介,n_publisher为账户类型,如为管理员、审核员或新闻输入员。
Lb_Admin表如表5-2所示:
表5-1-2账户表
A_Id为该表主键,A_Name为用户名,A_Password为密码,A_Grade为用户级别。
5.2各主要窗体页的图形界面介绍
首页:主要功能是显示最热门、最新和推荐的前8条新闻,显示新闻搜索功能、页面风格设置、新闻分类、滚动新闻图片和网站公告等;如图5-2-1所示:
如图5-2-1(下载源码就到源码网:www.codepub.com)
新闻详细内容查看页:在首页里点击新闻标题所进入的页面,显示当前所点击新闻的详细内容,新闻标题正中加粗显示,在添加新闻时,根据所编辑的新闻内容对应显示;如图5-2-2
如图5-2-2
新闻输入员页面:新闻输入员只具有添加新闻的权限,任何浏览者都可注册成为新闻输入员,但所添加的新闻并不能直接发布到网站上显示,而需经过审核员或管理员审核是否给予通过,这保证了网站内容管理的合理性,并不是随便添加的新闻都能发布;如图5-2-3
如图5-2-3
新闻审核员页面:审核员管理页面主要是对新闻进行审核,可对需审核的新闻内容进行查看和编辑,以确定是否授权发布,审核员除审核新闻外,也可添加新闻和管理新闻,所添加的新闻不需审核而可以直接发布,管理新闻包括修改和删除新闻;如图:5-2-4
如图:5-2-4
新闻管理员页面:管理员具有系统的所有权限,除审核员的审核新闻、添加新闻和管理新闻外,还可添加新闻部门和用户。对用户和新闻部门进行管理,包括修改用户ID和密码,删除用户,更改部门名称,删除新闻部门,管理员所添加的新闻也不再需要审核而可以直接发布。如图:5-2-5
如图:5-2-5
5.3 页面的风格设计
为使该系统的页面美观多样,在设计时使用了8种样式风格。为了在页面设计时方便调用,将其存储于数据库的Lb_Skins(风格样式)表中,各窗体通过调用style.css文件来设计界面外观。
CSS是Cascading Style Sheets(层叠样式表单)的简称,简称样式表,它是一种设计网页样式的技术。CSS代码的基本语句结构为:选择符{属性名:属性值},选择符可以是HTML中任何的标签或自定义标识符,比如P、DIV、IMG甚至BODY都可以作为选择符。
CSS在HTML文档中有三种用法:
一种是把CSS文档放到文档中:;
另一种方法是采用