【摘 要】CMS是Content Management System的縮寫,意為“內(nèi)容管理系統(tǒng)”。它可以加快網(wǎng)站開發(fā)的速度,讓非專門人員也可以對網(wǎng)站進行日常的維護和內(nèi)容更新,提高了工作效率,減少了開發(fā)的成本。新聞管理模塊作為CMS的核心模塊,它可以進行新聞的發(fā)布、修改和刪除。本文將圍繞該模塊進行闡述?!娟P鍵詞】ASP.NET CMS 新聞發(fā)布模塊新聞管理模塊主要用于新聞的發(fā)布、修改和刪除,","Introduction":"","Columns":"信息系統(tǒng)","Volume":"","Content":"
【摘 要】CMS是Content Management System的縮寫,意為“內(nèi)容管理系統(tǒng)”。它可以加快網(wǎng)站開發(fā)的速度,讓非專門人員也可以對網(wǎng)站進行日常的維護和內(nèi)容更新,提高了工作效率,減少了開發(fā)的成本。新聞管理模塊作為CMS的核心模塊,它可以進行新聞的發(fā)布、修改和刪除。本文將圍繞該模塊進行闡述。
【關鍵詞】ASP.NET CMS 新聞發(fā)布模塊
新聞管理模塊主要用于新聞的發(fā)布、修改和刪除,本模塊基本ASP.NET和SQLSERVER2005開發(fā),它的實現(xiàn)流程如圖1所示。
圖1 新聞管理模塊實現(xiàn)流程
一、新聞模塊數(shù)據(jù)設計
假設新聞欄目已經(jīng)固定好了,有“新聞”、“娛樂”、“體育”和“財經(jīng)”,在SqlServer2005數(shù)據(jù)庫中建立一個表“NewsInfo”,它包含新聞的主要屬性,包括新聞所屬欄目、標題、內(nèi)容、來源、新聞日期等。結構設計如表1所示。
字段名字段類型說明
NewsIDint新聞編號,自動生成,用于惟一標識,設為主鍵
NewsChannel int 所屬欄目
NewsTitlenvarchar(100)新聞標題
NewsContent ntext 新聞內(nèi)容
NewsSource nvarchar (100)新聞來源
NewsDatedatetime新聞日期
NewsEditor Nvarchar(50)編輯
表1 新聞表的結構
二、新聞發(fā)布模板
新聞發(fā)布模板是將新聞數(shù)據(jù)添加到數(shù)據(jù)庫中,我們通過界面和代碼分離的方式實現(xiàn)新聞發(fā)布模板的設計,新聞發(fā)布模塊的實現(xiàn)流程如圖2所示。
圖2 新聞發(fā)布模塊實現(xiàn)流程
(一)設計數(shù)據(jù)庫操作方法
要將新聞數(shù)據(jù)添加到數(shù)據(jù)庫中,需要設計新聞數(shù)據(jù)的操作方法。我們建立一個新聞操作類,命名為“NewsManager”。數(shù)據(jù)庫操作類使用微軟公司提供的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));}}}
(二)新聞發(fā)布模板設計
在新聞發(fā)布模板中加入必要的新聞元素,標題、來源、時間用文本框控件實現(xiàn),新聞內(nèi)容部份使用Fckeditor編輯器。FCKeditor是一個專門使用在網(wǎng)頁上屬于開放源代碼的所見即所得文字編輯器。它志于輕量化,不需要太復雜的安裝步驟即可使用。它的功能強大,易于操作,界面友好,是目前最流行的編輯器之一。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion以及Java等不同的編程語言相結合。新聞編輯模板如圖所示:
圖3:新聞編輯模板
(三)實現(xiàn)新聞發(fā)布的后臺代碼
項目開發(fā)中,一般界面層不允許出現(xiàn)有關數(shù)據(jù)庫的任何代碼,所以需要寫一個新聞管理類”NewsManager”實現(xiàn)數(shù)據(jù)庫的操作。在”NewsManager”類中加入添加新聞的方法”AddNews”。發(fā)布新聞的事件代碼如下:
Protected void PublishButton_Click(object sender,EventArgs e)
{
//初始化新聞操作類
NewsManager news = new NewsManager();
//調(diào)用添加新聞方法
bool result = news.AddNews(NewsChannel,txtTitle.Text,F(xiàn)ckeditor1.value,txtSource.Text,
txtDate.Text,txtEditor.Text);
//判斷添加操作的執(zhí)行結果
If(result)
//提示成功信息
Literal1.Text = “新聞發(fā)布成功”;
}
三、新聞修改和刪除功能
在”NewsManager”類中加入修改和刪除新聞的方法。
(一)修改新聞
修改新聞需要給UpdateNews方法傳遞新聞ID、標題、內(nèi)容、來源、時間、作者等參數(shù)的值。修改新聞事件代碼如下:
Protected void UpdateButton_Click(object sender,EventArgs e)
{
//初始化新聞操作類
NewsManager news = new NewsManager();
//調(diào)用添加新聞方法
bool result = news.UpdateNews(NewsID,txtTitle.Text,F(xiàn)ckeditor1.value,txtSource.Text,
txtDate.Text,txtEditor.Text);
//判斷添加操作的執(zhí)行結果
If(result)
//提示成功信息
Literal1.Text = “新聞修改成功”;
}
(二)刪除新聞
刪除新聞只需要給DeleteNews方法傳遞新聞ID的值,方法將根據(jù)新聞ID的值刪除對應的新聞。刪除新聞事件代碼如下:
Protected void DeleteButton_Click(object sender,EventArgs e)
{
//初始化新聞操作類
NewsManager news = new NewsManager();
//調(diào)用添加新聞方法
bool result = news.DeleteNews(NewsID);
//判斷添加操作的執(zhí)行結果
If(result)
//提示成功信息
Literal1.Text = “新聞刪除成功”;
}
四、結語
本文簡單介紹了CMS新聞管理模塊的設計原理與實現(xiàn)方法,能夠滿足最基本的CMS新聞管理需求。在實際項目中還有很多功能需要擴展和完善,比如,生成靜態(tài)html文件、附件上傳等。隨著互聯(lián)網(wǎng)技術的發(fā)展,對CMS也提出了更多更高的要求。因此,需要我們不斷的學習和研究。
參考文獻:
[1]王小科、趙會東.ASP.NET程序開發(fā)范例寶典(C#)(第3版) [M].人民郵電出版社,2012年5月.
[2]劉基林.ASP.NET 3.5 典型模塊開發(fā).人民郵電出版社,2008年7月.
[3](美)惠倫等著,黃湘情,謝琳,張靜妍譯.SQLSERVER2005管理員手冊.人民郵電出版社,2010年6月.