2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  學號:XXXXXXXXXXX</p><p>  XXXXXXXXXXX學院</p><p><b>  畢業(yè)論文</b></p><p><b>  新聞發(fā)布系統(tǒng)</b></p><p><b>  X X</b></p><

2、p>  2010 年 12 月 </p><p> 專業(yè)名稱軟件技術(WEB應用方向) </p><p> 指導教師XX </p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><

3、;p>  1.1 新聞發(fā)布系統(tǒng)需求分析1</p><p>  1.2 開發(fā)工具的選用及介紹1</p><p>  1.3 數(shù)據(jù)庫的選用及介紹4</p><p>  1.4 B/S模式介紹5</p><p>  1.5 該系統(tǒng)特點介紹5</p><p><b>  2 概要設計6</

4、b></p><p>  2.1 系統(tǒng)結構分析6</p><p>  2.2 系統(tǒng)模塊分析6</p><p>  3. 數(shù)據(jù)庫設計8</p><p>  3.1數(shù)據(jù)庫關系的設計8</p><p>  3.2 User表的設計8</p><p>  3.3 News表的設計8&l

5、t;/p><p>  3.4 category表的設計9</p><p>  3.5 comment表的設計9</p><p><b>  4 詳細設計10</b></p><p>  4.1普通用戶模塊10</p><p>  4.1.1 新聞瀏覽功能10</p><p

6、>  4.1.2 新聞搜索功能13</p><p>  4.1.3 顯示新聞及評論功能14</p><p>  4.2 管理員登錄模塊17</p><p>  4.3 新聞管理模塊20</p><p>  4.3.1 新聞添加、修改功能20</p><p>  4.3.2 新聞審核功能22</p

7、><p>  4.3.3 新聞或其評論刪除功能23</p><p>  4.4 類別管理模塊25</p><p>  4.5 用戶管理模塊27</p><p>  4.5.1 添加用戶功能27</p><p>  4.5.2 刪除用戶功能28</p><p><b>  5 總結

8、29</b></p><p><b>  致 謝30</b></p><p><b>  參考文獻31</b></p><p><b>  1 緒論</b></p><p>  1.1 新聞發(fā)布系統(tǒng)需求分析[1]</p><p>  

9、新聞發(fā)布系統(tǒng)(News Release System)是上個世紀九十年代互連網(wǎng)技術發(fā)展以后才出現(xiàn)的技術,最初表現(xiàn)是解決一些網(wǎng)站的信息動態(tài)發(fā)布而開發(fā),最初只是簡單的發(fā)布和顯示,應用對于各種不同的站點需要構建不同的系統(tǒng)來滿足需要,而且功能十分單一,在九十年代后期,互連網(wǎng)技術進一步發(fā)展,網(wǎng)絡作為新起的新聞媒介工具,其用戶大大增加,對系統(tǒng)的要求也越來越高,新聞發(fā)布系統(tǒng)在這樣的一個環(huán)境中提出、開發(fā)、并改進,到現(xiàn)在,新聞系統(tǒng)開發(fā)的成功案例已經(jīng)不計其

10、數(shù),而且已經(jīng)應用到各種站點上,可以說,各行各業(yè)的絕大部分的網(wǎng)站都使用到了新聞發(fā)布系統(tǒng),大量的用戶引發(fā)了新聞發(fā)布系統(tǒng)功能的進一步擴大和深化,給新聞發(fā)布系統(tǒng)提出了更高的要求。</p><p>  當今社會是一個信息化的社會,新聞作為信息的一部分有著信息量大,類別繁多,形式多樣的特點,新聞發(fā)布系統(tǒng)的概念就此提出。新聞發(fā)布系統(tǒng)的提出使電視不再是唯一的新聞媒體,從此以后網(wǎng)絡也充當了一個重要的新聞媒介的功能。簡單地說,新聞發(fā)

11、布系統(tǒng)就是充當一個網(wǎng)絡新聞媒介的功能,主要實現(xiàn)對新聞的分類、上傳、審核、發(fā)布,模擬了一般新聞媒介的新聞發(fā)布的過程,通過不同權限的賬號分別實現(xiàn)以上所說功能,當然這些功能也可以是某一個賬號全部具有。新聞發(fā)布系統(tǒng),又稱為信息發(fā)布系統(tǒng),是將網(wǎng)頁上的某些需要經(jīng)常變動的信息,類似新聞、新產(chǎn)品發(fā)布和業(yè)界動態(tài)等更新信息集中管理,并通過信息的某些共性進行分類,最后系統(tǒng)化、標準化發(fā)布到網(wǎng)站上的一種網(wǎng)站應用程序。網(wǎng)站信息通過一個操作簡單的界面加入數(shù)據(jù)庫,然后

12、通過已有的網(wǎng)頁模板格式與審核流程發(fā)布到網(wǎng)站上。</p><p>  它的出現(xiàn)大大減輕了網(wǎng)站更新維護的工作量,通過網(wǎng)絡數(shù)據(jù)庫的引用,將網(wǎng)站的更新維護工作簡化到只需錄入文字和上傳圖片,從而使網(wǎng)站的更新速度大大縮短,在某些專門的網(wǎng)上新聞站點,如新浪的新聞中心等,新聞的更新速度已經(jīng)縮短到五分鐘一更新,從而大大加快了信息的傳播速度,也吸引了更多的長期用戶群,時時保持網(wǎng)站的活動力和影響力。</p><p&

13、gt;  1.2 開發(fā)工具的選用及介紹[7]</p><p>  開發(fā)工具選用Microsoft Visual Studio 2005,其中開發(fā)語言Active Server Pages.NET語言,縮寫為ASP.NET,其測試版曾經(jīng)成為ASP+,但并不僅僅是ASP的簡單升級,而是MicroSoft推出的新一代Active Server Pages腳本語言。ASP.NET是微軟發(fā)展的新型體系結構.NET的一部分,

14、它的全新技術架構會讓每一個人的網(wǎng)絡生活都變得更簡單。 首先需要特別指出的是,ASP.NET不僅僅只是有了一個新界面并且修復了一些缺陷的ASP3.0的升級版本(即不同于ASP2.0升級到ASP3.0的轉(zhuǎn)變)。更為重要的是,ASP.NET吸收了ASP以前版本的最大優(yōu)點并參照Java、VB語言的開發(fā)優(yōu)勢加入了許多新的特色,同時也修正了以前的ASP版本的運行錯誤。從Internet興起的那一天起,人們就開始了開發(fā)Web技術的進程,從最初的靜態(tài)頁

15、面(HTML)到后來的動態(tài)交互式頁面技術(DHMTL,CGI,ASP,JSP,PHP)的發(fā)展,短短十多年,這個網(wǎng)絡世界已經(jīng)變得豐富多彩了?,F(xiàn)在,微軟推出了全新的Microsoft.NET,這是一個革命性的新平臺</p><p>  MicroSoft .NET平臺的基本思想是: 側(cè)重點從連接到互聯(lián)網(wǎng)的單一網(wǎng)站或設備上,轉(zhuǎn)移到計算機、設備和服務群組上,使其通力合作,提供更廣泛更豐富的解決方案。用戶將能夠控制信息的傳

16、送方式、時間和內(nèi)容。計算機、設備和服務將能夠相輔相成,從而提供豐富的服務,而不是像孤島那樣,由用戶提供唯一的集成。企業(yè)可以提供一種方式,允許用戶將它們的產(chǎn)品和服務無縫地嵌入自己的電子構架中。這種思路將擴展二十世紀八十年代首先由PC賦予的個人權限。 MicroSoft .NET將開創(chuàng)互聯(lián)網(wǎng)的新局面,基于HTML的顯示信息將通過可編程的基于XML的信息得到增強。XML是經(jīng)“萬維網(wǎng)聯(lián)盟”定義的受到廣泛支持的行業(yè)標準,Web瀏覽器標準也是由該組

17、織創(chuàng)建的。微軟公司為開發(fā)它投入了大量精力,但它并不是MicroSoft的專有技術,XML提供了一種從數(shù)據(jù)的演示視圖分離出實際數(shù)據(jù)的方式,這是新一代互聯(lián)網(wǎng)的關鍵。 </p><p>  Microsoft.NET平臺帶來的重要意義:</p><p>  對于開發(fā)人員,MicroSoft .NET的策略是將互聯(lián)網(wǎng)本身作為構建新一代操作系統(tǒng)的基礎,對互聯(lián)網(wǎng)和操作系統(tǒng)的設計思想進行合理延伸。這樣,

18、開發(fā)人員必將創(chuàng)建出擺脫設備硬件束縛的應用程序,以便輕松實現(xiàn)互聯(lián)網(wǎng)連接。MicroSoft .NET無疑是當今計算機技術通向計算時代的一個非常重要的里程碑。</p><p>  .NET對最終用戶來說非常重要,因為計算機的功能將會得到大幅度提升,同時計算機操作也會變得非常簡單。特別地,用戶將完全擺脫人為的硬件束縛:用戶可以自由沖浪于互聯(lián)網(wǎng)的多維時空,而不是束縛在便攜式電腦的方寸空間——可通過任何桌面系統(tǒng)、任何便攜式

19、電腦、任何移動電話或PDA進行訪問,并可對其進行跨應用程序的集成。 .NET可使用戶輕松進行互聯(lián)網(wǎng)連接,并輕松完成那些在當今看來十分費時而且費力的事務,它們往往要求用戶進行數(shù)據(jù)重輸入并需運行幾個小時才能完成。通過將多項安全數(shù)據(jù)流合并到單一的用戶界面(或者甚至是可編程決策引擎),.NET架構將用戶從充斥于當今Web的數(shù)據(jù)豎井的束縛中解脫出來。用戶可以自由訪問、自由查看、自由使用他們的數(shù)據(jù)。 .NET對開發(fā)人員來說也十分重要,因為它不但會改

20、變開發(fā)人員的開發(fā)應用程序的方式,而且使得開發(fā)人員能創(chuàng)建出全新的各種應用程序。 </p><p>  在過去,開發(fā)人員通過集成本地系統(tǒng)服務來構建應用程序。在這種模型下,開發(fā)人員可以訪問豐富的開發(fā)資源并能嚴格控制應用程序的行為。這樣,開發(fā)人員便可把精力集中在充分挖掘軟件獨特的商業(yè)價值,而不是構建基本結構上??上驳木置鎸\而生:軟件投放市場的時間大大縮短、開發(fā)人員的編程效率明顯提高,最終把質(zhì)量上乘的軟件呈現(xiàn)給用戶。

21、我們正在進入一個嶄新的計算時代——一個由互聯(lián)網(wǎng)(尤其是Internet核心技術XML)實現(xiàn)的時代。利用XML,能夠創(chuàng)建出可供任何人從任何地方使用的、功能非常強大的應用程序。它極大地拓展了應用程序的功能,并實現(xiàn)了軟件的動態(tài)提供。在這種情況下,軟件已不完全指那些從光盤進行安裝的程序,而是演變成了一種服務——類似于ID調(diào)用程序或按收看次數(shù)進行收費的電視——人們可通過通信媒體訂購的服務。 </p><p>  1.3 數(shù)

22、據(jù)庫的選用及介紹[2]</p><p>  在此次設計中,我們采用了SQL SERVER2005數(shù)據(jù)庫, SQL(Structured Query Language,譯為結構化查詢語言)在關系型數(shù)據(jù)庫中的地位就猶如英語在世界上的地位。它是數(shù)據(jù)庫系統(tǒng)的通用語言,利用它,用戶可以用幾乎同樣的語句在不同的數(shù)據(jù)庫系統(tǒng)上執(zhí)行同樣的操作。比如“select * from 數(shù)據(jù)表名”代表要從某個數(shù)據(jù)表中取出全部數(shù)據(jù),在Orac

23、le 9i、SQL Server 2000、FoxPro等關系型數(shù)據(jù)庫中都可以使用這條語句。SQL已經(jīng)被ANSI(美國國家標準化組織)確定為數(shù)據(jù)庫系統(tǒng)的工業(yè)標準。</p><p>  在數(shù)據(jù)庫的版本上,我們選用Microsoft SQL Server2005簡稱SQL Server),它是由一系列相互協(xié)作的組件構成,能滿足最大的Web站點和企業(yè)數(shù)據(jù)處理系統(tǒng)存儲和分析數(shù)據(jù)的需求。</p><p&

24、gt;  SQL Server提供了在服務器系統(tǒng)上運行的服務器軟件和在客戶端運行的客戶端軟件,連接客戶和服務器計算機的網(wǎng)絡軟件則由Windows NT/2000提供。</p><p>  它的數(shù)據(jù)庫系統(tǒng)的服務器運行在Windows NT/2000系統(tǒng)上,負責創(chuàng)建和維護表和索引等數(shù)據(jù)庫對象,確保數(shù)據(jù)完整性和安全性,能夠在出現(xiàn)各種錯誤時恢復數(shù)據(jù)。</p><p>  客戶端應用程序可以運行在W

25、indows9x/NT/2000系統(tǒng)上,完成所有的用戶交互操作。將數(shù)據(jù)從服務器檢索出來后,可以生成拷貝,以便在本地保留,也可以進行操作。</p><p>  SQL Server建立于Microsoft Window NT的可伸縮性和可管理性之上,提供了功能強大的客戶服務器平臺,高性能客戶服務器結構的數(shù)據(jù)庫管理系統(tǒng)可以將Visual FoxPro、Visual Basic、Visual C#、.NET作為客戶端開

26、發(fā)工具,而將SQL Server作為存儲數(shù)據(jù)的后臺服務器軟件。它是基于客戶/服務器的數(shù)據(jù)庫管理系統(tǒng)。用戶通過使用客戶系統(tǒng)從服務器檢索信息并進行本地操作,服務器關注數(shù)據(jù)庫進程,而客戶則關注信息的表示。 </p><p>  1.4 B/S模式介紹[12]</p><p>  B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一

27、種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(Server)實現(xiàn),這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本。</p><p>  以目前的技術看,局域網(wǎng)建立B/S結構的網(wǎng)絡應用,采用“瘦”客戶機,“胖”服務器的方式來設計系統(tǒng)是相對合理的。它是一次性到位的開發(fā),能實現(xiàn)

28、不同的人員,從不同的地點,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權限,服務器數(shù)據(jù)庫也很安全 。特別是在.NET這樣的跨平臺語言出現(xiàn)之后,B/S架構管理軟件更是方便、快捷、高效。</p><p>  1.5 該系統(tǒng)特點介紹[16]</p><p>  本新聞發(fā)布系統(tǒng)具有以下特點:</p&

29、gt;<p>  (1) 可視性:對新聞的處理(包括發(fā)布、修改、刪除)將立即在主頁的對應欄目顯示出來,達到"即時發(fā)布、即時見效"的功能;</p><p>  (2) 功能完善:包括常見網(wǎng)站的新聞(消息)管理的各個方面:新聞發(fā)布、瀏覽、刪除、修改、檢索等各個方面;完整地實現(xiàn)了網(wǎng)站對即時新聞的管理要求;</p><p>  (3) 操作簡單、界面友好:完全控件

30、式的頁面布局,使你即便不熟悉文字錄入,仍可以用拷貝+粘貼的方式錄入新聞內(nèi)容;一些選項包括新聞類別等只需要點擊鼠標就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時清楚自己的操作情況。</p><p>  (4) 代碼少:新聞瀏覽、查詢輸出兩大功能也使用了同一頁面(NewsContent.aspx),極大地減少了程序代碼。</p><p> ?。?)安全性強:此系統(tǒng)中比較核心的功能都用在數(shù)據(jù)庫

31、中用存儲過程來實現(xiàn),不僅提高了反應速度,同時安全性大大加強。</p><p>  (6)易于管理:此系統(tǒng)采用三層架構來實現(xiàn)功能的,遇到問題可以準確找到出錯的位置,對號入座,提高了后期維護的效率。 </p><p><b>  2 概要設計</b></p><p>  2.1 系統(tǒng)結構分析[13]</p><p>  通過

32、對各網(wǎng)站新聞發(fā)布系統(tǒng)的調(diào)查,本系統(tǒng)需要設計兩個角色訪問模塊:普通用戶模塊、管理員模塊、記者模塊。</p><p><b>  圖1 系統(tǒng)結構圖</b></p><p>  普通用戶模塊功能包括瀏覽新聞、搜索新聞、查看新聞和評論新聞功能。</p><p>  后臺管理模塊又包括系統(tǒng)管理員模塊和記者模塊。</p><p> 

33、 系統(tǒng)管理員模塊功能包括新聞管理、分類管理和用戶管理等功能。</p><p>  記者模塊功能則只包括新聞管理中添加修改新聞,添加的新聞狀態(tài)未發(fā)布。</p><p>  2.2 系統(tǒng)模塊分析</p><p>  該系統(tǒng)主要包括5個功能模塊:</p><p>  普通用戶模塊:普通用戶模塊包括瀏覽新聞、搜索新聞、查看新聞和評論新聞的功能。<

34、;/p><p>  管理員登錄模塊:該系統(tǒng)管理員分為兩類,即系統(tǒng)管理員和記者,其中,系統(tǒng)管理員權限高于記者。</p><p>  新聞管理模塊:該系統(tǒng)中,系統(tǒng)管理員能夠賦予或收回記者管理某一類新聞的權利。該模塊能夠?qū)崿F(xiàn)添加新聞、修改新聞、審核新聞、刪除新聞或其相應評論的功能。</p><p>  分類管理模塊:該系統(tǒng)中,只有系統(tǒng)管理員具有管理分類的權限。該模塊能夠?qū)崿F(xiàn)分

35、類的添加、修改和刪除。</p><p>  用戶管理模塊:該模塊能夠?qū)崿F(xiàn)用戶的添加與刪除,用戶角色的修改以及賬號密碼的更改。其中用戶的添加、修改和用戶權限的修改只有系統(tǒng)管理員才能操作,而記者只具有更改自己賬號密碼的權限。</p><p>  3. 數(shù)據(jù)庫設計[4] </p><p>  數(shù)據(jù)庫是系統(tǒng)的靈魂,數(shù)據(jù)庫設計的好壞直接關系到后邊系統(tǒng)的可維護性、可擴展性

36、等。但只有在全面了解業(yè)務流程的前提下才能設計出完善的數(shù)據(jù)庫。</p><p>  3.1數(shù)據(jù)庫關系的設計</p><p><b>  圖1 數(shù)據(jù)關系圖</b></p><p>  3.2 User表的設計</p><p>  表User用于記錄所有用戶的所有信息,表db_Admin的設計視圖如表1所示:</p>

37、;<p><b>  表1 User表</b></p><p>  3.3 News表的設計</p><p>  表News用于記錄新聞的所有信息,表News的設計視圖如表2所示:</p><p><b>  表2 news表</b></p><p>  3.4 category表

38、的設計</p><p>  表comment用于記錄分類的所有留言信息,表comment的設計視圖如表3所示:</p><p>  表3 category表</p><p>  3.5 comment表的設計</p><p>  表comment用于記錄新聞評論的所有信息,表comment的設計視圖如表4所示:</p><

39、;p>  表4 comment表</p><p><b>  4 詳細設計</b></p><p><b>  4.1普通用戶模塊</b></p><p>  普通用戶模塊包括新聞瀏覽功能、新聞搜索功能、新聞閱讀功能和新聞評論功能。</p><p>  4.1.1 新聞瀏覽功能</p&g

40、t;<p>  本系統(tǒng)首頁便是新聞瀏覽頁面,整個頁面顯示了新聞的分類,將所有新聞分為熱點新聞、分類新聞和最新新聞三大塊。并且列出了網(wǎng)站所有新聞的信息, 包括標題、類型、發(fā)布日期, 每條新聞的標題被做成一個超鏈接, 直接點擊它們就能跳轉(zhuǎn)頁面進行新聞閱讀。如圖2所示:</p><p><b>  圖2 系統(tǒng)首頁</b></p><p>  新聞瀏覽功能部分代

41、碼如下:</p><p><b>  使用的存儲過程:</b></p><p>  (1) set ANSI_NULLS ON</p><p>  set QUOTED_IDENTIFIER ON</p><p><b>  go</b></p><p>  -- =====

42、========================================</p><p>  -- Author:</p><p>  -- Create date:</p><p>  -- Description:取出最新條新聞(所屬分類、新聞標題、發(fā)布時間)</p><p>  -- ===================

43、==========================</p><p>  ALTER PROCEDURE [dbo].[news_selectNewNews]</p><p><b>  AS</b></p><p><b>  BEGIN</b></p><p>  select top 8 n.

44、id,n.title,n.createTime,n.pic,c.[name],c.id as caId from news n</p><p>  inner join categoryc on n.caId=c.id</p><p>  where status='已發(fā)布'</p><p>  order by n.createTime desc

45、</p><p><b>  END</b></p><p> ?。?)set ANSI_NULLS ON</p><p>  set QUOTED_IDENTIFIER ON</p><p><b>  go</b></p><p>  -- ===============

46、==============================</p><p>  -- Description:取出條熱點新聞(評論最多的條)</p><p>  -- =============================================</p><p>  ALTER PROCEDURE [dbo].[news_selectHotNews]

47、</p><p><b>  AS</b></p><p><b>  BEGIN</b></p><p>  select top 10 n.id,n.title,n.createTime,c.[name],count(com.id) as comCount,c.id as caId from news n</p&

48、gt;<p>  inner join categoryc on n.caId=c.id</p><p>  inner join comment com on com.newsId=n.id</p><p>  group by n.id,n.title,n.createTime,c.[name],c.id</p><p>  order by c

49、omCount desc</p><p><b>  END</b></p><p>  DAL層主要代碼: ##region 選擇10條熱點新聞</p><p>  /// <summary></p><p>  /// 取出10條熱點新聞</p><p>  /// </s

50、ummary></p><p>  /// <returns></returns></p><p>  public DataTable SelectHotNews()</p><p><b>  {</b></p><p>  return sqlhelper.ExecuteQuery(&

51、quot;news_selectHotNews", CommandType.StoredProcedure); </p><p><b>  }</b></p><p>  #endregion</p><p>  /// <summary></p><p>  /// 取出最新10

52、條新聞(所屬分類、新聞標題、發(fā)布時間)</p><p>  /// </summary></p><p>  /// <returns></returns></p><p>  public DataTable SelectNewNews()</p><p><b>  {</b>&l

53、t;/p><p>  return sqlhelper.ExecuteQuery("news_selectNewNews", CommandType.StoredProcedure);</p><p><b>  }</b></p><p>  public partial class index : System.Web.UI

54、.Page</p><p><b>  {</b></p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if(!Page.IsPostBack)</p>

55、<p><b>  {</b></p><p>  //第一次進入該頁面時</p><p>  NewsManager nm = new NewsManager();</p><p><b>  //綁定最新新聞</b></p><p>  gvNewNews.DataSource =

56、nm.SelectNewNews();</p><p>  gvNewNews.DataBind();</p><p>  DataListNewNews.DataSource = nm.SelectNewNews();</p><p>  DataListNewNews.DataBind();</p><p><b>  }<

57、;/b></p><p><b>  }</b></p><p>  /// <summary> </p><p>  /// 將指定字符串按指定長度進行剪切超出部分用“...”代替</p><p>  /// </summary> </p><p>  

58、/// <param name= "oldStr "> 需要截斷的字符串 </param> </p><p>  /// <param name= "maxLength "> 字符串的最大長度 </param> </p><p>  /// <param name= &qu

59、ot;endWith "> 超過長度的后綴 </param> </p><p>  /// <returns> 如果超過長度,返回截斷后的新字符串加上后綴,否則,返回原字符串 </returns> </p><p>  public static string StringTruncat(string oldStr, int maxL

60、ength, string endWith)</p><p><b>  {</b></p><p>  if (string.IsNullOrEmpty(oldStr))</p><p>  return oldStr + endWith;</p><p>  if (maxLength < 1)</p&g

61、t;<p>  throw new Exception("返回的字符串長度必須大于[0] ");</p><p>  if (oldStr.Length > maxLength)</p><p><b>  {</b></p><p>  string strTmp = oldStr.Substring(

62、0, maxLength);</p><p>  if (string.IsNullOrEmpty(endWith))</p><p>  return strTmp;</p><p><b>  else</b></p><p>  return strTmp + endWith;</p><p&g

63、t;<b>  }</b></p><p>  return oldStr;</p><p><b>  }</b></p><p>  4.1.2 新聞搜索功能</p><p>  每個用戶都可以在該系統(tǒng)中進行新聞的搜索,通過標題或是內(nèi)容的搜索找到自己感興趣的新聞。</p><

64、p>  新聞搜索功能和搜索結果界面如圖3和圖4所示:</p><p><b>  圖3 新聞搜索</b></p><p><b>  圖4 搜索結果</b></p><p><b>  相關代碼如下:</b></p><p>  -- =================

65、============================</p><p>  -- Description:根據(jù)內(nèi)容搜索新聞</p><p>  -- =============================================</p><p>  ALTER PROCEDURE [dbo].[news_selectByContent]</p&

66、gt;<p>  @content varchar(1000)</p><p><b>  AS</b></p><p><b>  BEGIN</b></p><p>  select n.id,n.title,n.createTime,c.[name],n.caid from news n</p&g

67、t;<p>  inner join category c on n.caId=c.id</p><p>  where n.[content] like '%'+@content+'%'</p><p>  order by n.createTime desc</p><p><b>  END</b&

68、gt;</p><p>  -- Description:根據(jù)新聞ID取出該條新聞主體內(nèi)容</p><p>  ALTER PROCEDURE [dbo].[news_selectById]</p><p><b>  @id int</b></p><p><b>  AS</b></p&

69、gt;<p><b>  BEGIN</b></p><p>  select title,[content],createTime,caId,author,status from news where id=@id</p><p><b>  END</b></p><p>  4.1.3 顯示新聞及評論功

70、能</p><p>  點擊鏈接即可進入新聞顯示界面,在該界面不僅能夠進行新聞的閱讀,還能對該條新聞進行評論。</p><p>  新聞顯示及評論界面如圖5所示:</p><p>  圖5 新聞顯示及評論</p><p>  新聞顯示及評論功能部分代碼如下所示:</p><p>  public partial cla

71、ss NewsContent : System.Web.UI.Page</p><p><b>  {</b></p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  i

72、f (!Page.IsPostBack)</p><p><b>  {</b></p><p>  string newsid = Request.QueryString["newsid"];</p><p>  NewsManager nm = new NewsManager();</p><p>

73、;<b>  //新聞內(nèi)容</b></p><p>  News news = nm.SelectById(newsid);</p><p>  lblTitle.Text = news.Title;</p><p>  lblAuthor.Text = news.Author;</p><p>  lblcontent

74、.Text = news.Content;</p><p>  lblCreateTime.Text = news.CreateTime; </p><p>  DataTabledt=new ommentManager().SelectByNewsId(newsid);</p><p>  if (dt.Rows.Count == 0)<

75、/p><p><b>  {</b></p><p>  emptyData.Visible = true;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>&

76、lt;/p><p>  emptyData.Visible = false;</p><p>  repComment.DataSource = dt;</p><p>  repComment.DataBind();</p><p><b>  }</b></p><p><b>  }&

77、lt;/b></p><p><b>  }</b></p><p>  protected void lbtnDelComment_Click(object sender, EventArgs e)</p><p>  { //當前點擊的按鈕</p><p>  LinkButton lb = (LinkBu

78、tton)sender;</p><p>  //獲取傳過來的CommentId</p><p>  string comId = lb.CommandArgument;</p><p>  bool b = new CommentManager().Delete(comId);</p><p><b>  if (b)</b

79、></p><p>  { //重新綁定評論</p><p>  string newsid = Request.QueryString["newsid"];</p><p>  DataTable dt = new CommentManager().SelectByNewsId(newsid);</p><p>

80、  if (dt.Rows.Count == 0)</p><p><b>  {</b></p><p>  emptyData.Visible = true;</p><p>  repComment.DataSource = dt;</p><p>  repComment.DataBind();</p>

81、;<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  emptyData.Visible = false;</p><p>  repComment.DataSource = d

82、t;</p><p>  repComment.DataBind();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b&g

83、t;</p><p>  Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('刪除失?。?#39;);</script>");</p><

84、p><b>  }</b></p><p><b>  }</b></p><p>  protected void btnSub_Click(object sender, EventArgs e)</p><p><b>  { </b></p><p> 

85、 if (Session["LoginName"] != null)</p><p>  { //添加評論</p><p>  string com_content = txtComment.Text;</p><p>  string newsid = Request.QueryString["newsid"];<

86、/p><p>  string userIp = Request.ServerVariables["REMOTE_ADDR"];</p><p>  Comment com = new Comment(com_content, userIp, newsid);</p><p>  bool b = new CommentManager().Inser

87、t(com);</p><p><b>  if (b)</b></p><p><b>  {</b></p><p>  txtComment.Text = "";</p><p>  //隱藏“該新聞暫無評論”</p><p>  emptyData

88、.Visible = false;</p><p>  repComment.DataSource=new CommentManager().SelectByNewsId(newsid);</p><p>  repComment.DataBind();</p><p><b>  } else</b></p><p>

89、<b>  {</b></p><p>  Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('評論添加失敗!');</script>&q

90、uot;);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Redirec

91、t("login.aspx");</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2 管理員登錄模塊</p><p>  管理員登錄模塊包括系統(tǒng)管理員和記者登錄。登錄后會進入相應的操作界面。其登錄界面和登錄后界面如圖6和圖7

92、所示:</p><p><b>  圖6 后臺登錄界面</b></p><p>  圖7 管理員登錄后界面</p><p>  管理員登錄功能部分代碼如下:</p><p>  -- =============================================</p><p>  -

93、- Description:<用戶登錄,,></p><p>  -- =============================================</p><p>  ALTER proc [dbo].[User_GetLogin]</p><p>  (@LoginId varchar(20),@LoginPwd varchar(20

94、))</p><p><b>  AS</b></p><p><b>  BEGIN</b></p><p>  select LoginId,LoginPwd,userRole from [User]</p><p>  where LoginId = @LoginId and LoginPw

95、d = @LoginPwd </p><p><b>  END</b></p><p>  protected void btnLogin_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (this.txtNam

96、e.Text.Trim() == "")</p><p><b>  {</b></p><p>  Response.Write("<script>alert('請輸入用戶名!')</script>");</p><p><b>  }</b>

97、;</p><p>  else if (this.txtPassword.Text.Trim() == "")</p><p><b>  {</b></p><p>  Response.Write("<script>alert('請輸入密碼!')</script>&qu

98、ot;);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  User uib = new User();</p><p>  LoginManager us

99、erBll = new LoginManager();</p><p>  uib.LoginId = this.txtName.Text.Trim();</p><p>  uib.LoginPwd = this.txtPassword.Text.Trim();</p><p>  string pwd = this.txtPassword.Text.Trim()

100、; </p><p>  pwd=FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "MD5");</p><p>  // Response.Write(pwd);</p><p>  if (this.DropDownListRole.SelectedValu

101、e =="0")</p><p><b>  {</b></p><p>  if (userBll.GetLoginByAdmin(uib))</p><p><b>  {</b></p><p>  Session["LoginName"] = this

102、.txtName.Text.Trim();</p><p>  Response.Redirect("CategoryManager.aspx");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {&l

103、t;/b></p><p>  Response.Write("<script>alert('用戶名或密碼錯誤!')</script>");</p><p><b>  }</b></p><p><b>  }</b></p><p&g

104、t;<b>  else</b></p><p><b>  {</b></p><p>  if (userBll.GetLoginByReporter(uib))</p><p><b>  {</b></p><p>  Session["LoginName&q

105、uot;] = this.txtName.Text.Trim();</p><p>  Response.Redirect("NewsManager_Reporter.aspx");</p><p><b>  }</b></p><p><b>  else</b></p><p&

106、gt;<b>  {</b></p><p>  Response.Write("<script>alert('用戶名或密碼錯誤!')</script>");</p><p>  } </p><p>  4.3 新聞管理模塊</p><p>

107、;  新聞管理模塊包括添加、修改新聞功能、審核新聞功能、刪除新聞或其評論功能。其中,記者只能添加和修改自己發(fā)布的新聞。</p><p>  4.3.1 新聞添加、修改功能</p><p>  在本系統(tǒng)中,新聞的添加和修改功能的界面大同小異,這里就只具體介紹新聞的添加功能。</p><p>  新聞添加功能界面如圖8所示:</p><p>&l

108、t;b>  圖8 添加新聞</b></p><p>  新聞添加功能部分代碼如下:</p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  //判斷是否登錄 session

109、里是否存在管理員</p><p>  if (Session["LoginName"] != null)</p><p>  { </p><p>  if (!Page.IsPostBack)</p><p>  {//綁定新聞分類 </p><p&

110、gt;  DataTable dt= new CategoryManager().SelectAll();</p><p>  ddlCategory.DataSource = dt;</p><p>  ddlCategory.DataTextField = "name";</p><p>  ddlCategory.DataValueFie

111、ld = "id";</p><p>  ddlCategory.DataBind();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p>&

112、lt;b>  {</b></p><p><b>  //未登錄</b></p><p>  Response.Redirect("Login.aspx");</p><p><b>  }</b></p><p><b>  }</b>&

113、lt;/p><p>  protected void btnAdd_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  string fullfileName = FileUp.PostedFile.FileName;</p><p>  strin

114、g fileName = fullfileName.Substring(fullfileName.LastIndexOf("\\") + 1);</p><p>  string type = fullfileName.Substring(fullfileName.LastIndexOf(".") + 1);</p><p>  if (type =

115、= "jpg" || type == "JPG" || type == "gif" || type == "GIF" || type == "BMP" || type == "bmp"||type=="png")</p><p><b>  { try</b

116、></p><p><b>  {</b></p><p>  Stringpath= HttpContext.Current.Request.MapPath(("~/img/") + fileName);</p><p>  FileUp.PostedFile.SaveAs(path);

117、 Response.Write("<Script Language='JavaScript'>alert('上傳成功!')</Script>");</p><p><b>  }</b></p><p><b>  catch</b></p><p&g

118、t;<b>  {</b></p><p>  Response.Write("<Script Language='JavaScript'>alert('Error!')</Script>");</p><p><b>  }</b></p><p&g

119、t;<b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<Script Language='JavaScript'>alert('文件類型錯誤!&

120、#39;)</Script>");</p><p><b>  }</b></p><p>  this.lblAuthor.Text= Session["LoginName"].ToString();</p><p>  string srcPic = "~/img/" + fil

121、eName;</p><p>  string title = txtTitle.Text.Trim();</p><p>  string content = ftbContent.Text.Trim();</p><p>  string caid = ddlCategory.SelectedValue;</p><p>  string

122、 pic = srcPic;</p><p>  string status = "未發(fā)布";</p><p>  string author = lblAuthor.Text.Trim();</p><p>  News news = new News(title, content, caid, pic, author, status);<

123、;/p><p>  bool b= new NewsManager().Insert(news);</p><p><b>  if (b)</b></p><p><b>  {</b></p><p>  //Response.Write(pic);</p><p>  Pa

124、ge.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('新聞添加成功!');</script>");</p><p><b>  }</b&g

125、t;</p><p><b>  else</b></p><p><b>  {</b></p><p>  Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language=

126、9;javascript' defer>alert('添加失?。?#39;);</script>");</p><p><b>  } </b></p><p><b>  }</b></p><p>  4.3.2 新聞審核功能</p><p> 

127、 擁有審核新聞權限的管理員即可進入該界面對新聞進行審核。其功能界面如圖9所示(此處代碼省略):</p><p><b>  圖9 新聞審核</b></p><p>  4.3.3 新聞或其評論刪除功能</p><p>  管理員只要擁有相應權限就可以通過此頁面進入新聞修改頁面、刪除某條新聞或刪除其有關評論。</p><p&g

128、t;  其功能界面如圖10所示: </p><p>  圖10 刪除新聞及其評論</p><p><b>  其部分代碼如下:</b></p><p>  protected void Page_Load(object sender, EventArgs e)</p><p>  { if (Session[&q

129、uot;LoginName"] != null )</p><p><b>  {</b></p><p><b>  //已經(jīng)登錄</b></p><p>  if (!Page.IsPostBack)</p><p><b>  {</b></p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論