浅淡基于ASP.NET的网站CMS新闻管理模块的设计与实现

时间:2022-10-06 11:58:08

浅淡基于ASP.NET的网站CMS新闻管理模块的设计与实现

【摘 要】CMS是Content Management System的缩写,意为“内容管理系统”。它可以加快网站开发的速度,让非专门人员也可以对网站进行日常的维护和内容更新,提高了工作效率,减少了开发的成本。新闻管理模块作为CMS的核心模块,它可以进行新闻的、修改和删除。本文将围绕该模块进行阐述。

【关键词】 CMS 新闻模块

新闻管理模块主要用于新闻的、修改和删除,本模块基本和SQLSERVER2005开发,它的实现流程如图1所示。

图1 新闻管理模块实现流程

一、新闻模块数据设计

假设新闻栏目已经固定好了,有“新闻”、“娱乐”、“体育”和“财经”,在SqlServer2005数据库中建立一个表“NewsInfo”,它包含新闻的主要属性,包括新闻所属栏目、标题、内容、来源、新闻日期等。结构设计如表1所示。

字段名 字段类型 说明

NewsID int 新闻编号,自动生成,用于惟一标识,设为主键

NewsChannel int 所属栏目

NewsTitle nvarchar(100) 新闻标题

NewsContent ntext 新闻内容

NewsSource nvarchar (100) 新闻来源

NewsDate datetime 新闻日期

表1 新闻表的结构

二、新闻模板

新闻模板是将新闻数据添加到数据库中,我们通过界面和代码分离的方式实现新闻模板的设计,新闻模块的实现流程如图2所示。

图2 新闻模块实现流程

(一)设计数据库操作方法

要将新闻数据添加到数据库中,需要设计新闻数据的操作方法。我们建立一个新闻操作类,命名为“NewsManager”。数据库操作类使用微软公司提供的SqlHelper类。在类中添加保存新闻的方法,主要代码如下所示:

Public class NewsManager

{

Public void AddNews(string NewsChannel,string NewsTtitle,string NewsContent,string NewsSource,string NewsDate,string NewsEditor)

{

using (SqlConnection conn = new SqlConnection(SqlHelper.CONN_STRING))

{

conn.Open();

SqlHelper.ExecuteNonQuery(conn, CommandType.Text, "insert into newsinfo values(@channel,@title,@content,@source,@date,@editor)" ,new SqlParameter("@channel ", NewsChannel),new SqlParameter("@title", NewsTtitle),new SqlParameter("@content ", NewsContent) ,new SqlParameter("@source", NewsSource) ,new SqlParameter("@date", NewsDate) ,new SqlParameter("@editor", NewsEditor));}}}

(二)新闻模板设计

在新闻模板中加入必要的新闻元素,标题、来源、时间用文本框控件实现,新闻内容部份使用Fckeditor编辑器。FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用。它的功能强大,易于操作,界面友好,是目前最流行的编辑器之一。它可和PHP、JavaScript、ASP、、ColdFusion以及Java等不同的编程语言相结合。新闻编辑模板如图所示:

(三)实现新闻的后台代码

项目开发中,一般界面层不允许出现有关数据库的任何代码,所以需要写一个新闻管理类”NewsManager”实现数据库的操作。在”NewsManager”类中加入添加新闻的方法”AddNews”。新闻的事件代码如下:

Protected void PublishButton_Click(object sender,EventArgs e)

{

//初始化新闻操作类

NewsManager news = new NewsManager();

//调用添加新闻方法

bool result = news.AddNews(NewsChannel,txtTitle.Text,Fckeditor1.value,txtSource.Text,

txtDate.Text,txtEditor.Text);

//判断添加操作的执行结果

If(result)

//提示成功信息

Literal1.Text = “新闻成功”;

}

三、新闻修改和删除功能

在”NewsManager”类中加入修改和删除新闻的方法。

(一)修改新闻

修改新闻需要给UpdateNews方法传递新闻ID、标题、内容、来源、时间、作者等参数的值。修改新闻事件代码如下:

Protected void UpdateButton_Click(object sender,EventArgs e)

{

//初始化新闻操作类

NewsManager news = new NewsManager();

//调用添加新闻方法

bool result = news.UpdateNews(NewsID,txtTitle.Text,Fckeditor1.value,txtSource.Text,

txtDate.Text,txtEditor.Text);

//判断添加操作的执行结果

If(result)

//提示成功信息

Literal1.Text = “新闻修改成功”;

}

(二)删除新闻

删除新闻只需要给DeleteNews方法传递新闻ID的值,方法将根据新闻ID的值删除对应的新闻。删除新闻事件代码如下:

Protected void DeleteButton_Click(object sender,EventArgs e)

{

//初始化新闻操作类

NewsManager news = new NewsManager();

//调用添加新闻方法

bool result = news.DeleteNews(NewsID);

//判断添加操作的执行结果

If(result)

//提示成功信息

Literal1.Text = “新闻删除成功”;

}

四、结语

本文简单介绍了CMS新闻管理模块的设计原理与实现方法,能够满足最基本的CMS新闻管理需求。在实际项目中还有很多功能需要扩展和完善,比如,生成静态html文件、附件上传等。随着互联网技术的发展,对CMS也提出了更多更高的要求。因此,需要我们不断的学习和研究。

参考文献:

[1]王小科、赵会东程序开发范例宝典(C#)(第3版) [M].人民邮电出版社,2012年5月.

[2]刘基林 3.5 典型模块开发.人民邮电出版社,2008年7月.

[3](美)惠伦等著,黄湘情,谢琳,张静妍译.SQLSERVER2005管理员手册.人民邮电出版社,2010年6月.

上一篇:浅谈学习《机械制图》的重要性 下一篇:小学数学课堂师生互动问题浅谈