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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  摘 要</b></p><p>  在Internet飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是通過網(wǎng)站來實(shí)現(xiàn)的,獲取信息也是要在Internet“海洋”中按照一定的檢索方式將所需要的信息從網(wǎng)站上下載下來。因此網(wǎng)站建設(shè)在Internet應(yīng)用上的地位顯而易

2、見,它已成為政府、企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視。為了更好的辦學(xué),提高學(xué)校知名度,特構(gòu)建湖南網(wǎng)絡(luò)工程職業(yè)技術(shù)學(xué)院網(wǎng)站。</p><p>  關(guān)鍵字 網(wǎng)站建設(shè);校園網(wǎng); CMS管理系統(tǒng);SQL;ASP.NET;Microsoft Visual Studio 2005 Macromedia Dreamweaver 8</p><p><b>  目 錄&l

3、t;/b></p><p><b>  第一章概 述1</b></p><p>  1.1 設(shè)計(jì)思想1</p><p>  1.2開發(fā)工具的選用及介紹1</p><p>  1.3 ASP.NET訪問數(shù)據(jù)庫的原理2</p><p>  第二章 系統(tǒng)分析3</p>&

4、lt;p><b>  2.1需求分析3</b></p><p>  2.2網(wǎng)站及系統(tǒng)目標(biāo)設(shè)計(jì)4</p><p>  2.3網(wǎng)站前臺各欄目模塊設(shè)計(jì)4</p><p>  2.4網(wǎng)站管理系統(tǒng)CSM各功能模塊設(shè)計(jì)5</p><p><b>  2.5數(shù)據(jù)流圖5</b></p>

5、<p>  第三章 數(shù)據(jù)庫設(shè)計(jì)8</p><p>  3.1數(shù)據(jù)庫需求分析8</p><p>  3.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)8</p><p>  3.2數(shù)據(jù)庫關(guān)系圖12</p><p>  第四章 網(wǎng)站前臺的具體實(shí)現(xiàn)13</p><p>  4.1 網(wǎng)站前臺開發(fā)的基本步驟13</p>

6、<p>  4.2 具體頁面的實(shí)現(xiàn)13</p><p>  4.3 結(jié)果分析16</p><p>  第五章 網(wǎng)站管理系統(tǒng)CMS的具體實(shí)現(xiàn)17</p><p>  5.1 ASP.NET應(yīng)用程序開發(fā)的基本步驟17</p><p>  5.2 類結(jié)構(gòu)的實(shí)現(xiàn)17</p><p>  5.3 具體頁面的實(shí)

7、現(xiàn)17</p><p>  5.4 結(jié)果分析34</p><p><b>  結(jié)束語35</b></p><p><b>  致 謝36</b></p><p><b>  參考文獻(xiàn)37</b></p><p><b>  成績評

8、定表38</b></p><p><b>  概 述</b></p><p><b>  1.1 設(shè)計(jì)思想</b></p><p>  通過網(wǎng)站,全面宣傳,展示學(xué)校風(fēng)采、優(yōu)點(diǎn)與特色,發(fā)布學(xué)校的重大活動安排與招生政策,增強(qiáng)家長與學(xué)校之間的聯(lián)系,在Internet上實(shí)現(xiàn)完成部分校務(wù),提高辦事效率。</p&g

9、t;<p>  1.2開發(fā)工具的選用及介紹</p><p>  本網(wǎng)站是在visual Studio 2005下采取ASP.NET技術(shù)開發(fā)的。</p><p>  傳統(tǒng)的網(wǎng)站新聞管理方式有兩種,一是靜態(tài)HTML頁面,更新信息時(shí)需要重新制作頁面然后上傳頁面并修改相應(yīng)鏈接,這種方式因?yàn)樾侍鸵巡欢嘤?。二是基于ASP和腳本語言,將動態(tài)網(wǎng)頁和數(shù)據(jù)庫結(jié)合,通過應(yīng)用程序來處理新聞,這是

10、目前較為流行的做法。但是由于ASP本身的局限性使得系統(tǒng)有一些不可克服的缺陷,而采取了ASP.NET技術(shù)的系統(tǒng)性能上有了很大的改善,其主要表現(xiàn)在以下幾方面:</p><p>  1.由于ASP頁面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁面在反復(fù)打開時(shí)速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應(yīng)用程序重新啟動。這使得在多次訪問時(shí)速度有了極大的提升。</p&

11、gt;<p>  2.由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用ASP撰寫數(shù)據(jù)庫頁面時(shí)只能借助ADO的RecordSet對象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫元件可以直接和數(shù)據(jù)庫聯(lián)系。</p><p>  3.ASP.NET支持應(yīng)用程序的實(shí)時(shí)更新。管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運(yùn)行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠(yuǎn)不會被加

12、鎖,因此甚至在程序運(yùn)行時(shí)文件就可以被覆蓋。當(dāng)文件更新后,系統(tǒng)會溫和地轉(zhuǎn)換到新的版本。</p><p>  4.ASP.NET采取"code-behind"方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)的開發(fā)與維護(hù)的復(fù)雜度和費(fèi)用。</p><p>  1.3 ASP.NET訪問數(shù)據(jù)庫的原理</p><p>  與數(shù)據(jù)庫相連,ASP.NET提

13、供了如下3種方式:通過ODBC相連;通過OLEDB相連;直接與SQL Server相連。3種方式由于應(yīng)用層次的差異,使得效率由低到高,獨(dú)立性由高到低。對于相連數(shù)據(jù)庫的數(shù)據(jù)處理,也有2種方式,即一種是通過DataSet來隔離異構(gòu)的數(shù)據(jù)源,另一種是以流方式從數(shù)據(jù)源讀取(DataReader方式)。</p><p>  傳統(tǒng)的應(yīng)用程序是通過先建立到數(shù)據(jù)庫的連接,在程序的整個(gè)運(yùn)行過程中維護(hù)連接的方式來設(shè)計(jì)的。ASP.NE

14、T采取了斷開連接方式的數(shù)據(jù)結(jié)構(gòu)。當(dāng)瀏覽器向Web服務(wù)器請求網(wǎng)頁時(shí),服務(wù)器處理這個(gè)請求,并將所請求的網(wǎng)頁發(fā)送給瀏覽器,然后連接就被斷開,直到瀏覽器發(fā)出下一個(gè)請求。ADO.NET的另一個(gè)創(chuàng)新是引入了數(shù)據(jù)集(Dataset)。一個(gè)數(shù)據(jù)集是內(nèi)存中提供數(shù)據(jù)關(guān)系圖的高速緩沖區(qū)。數(shù)據(jù)集對數(shù)據(jù)源一無所知,它們可以由程序或通過從數(shù)據(jù)倉庫中調(diào)入數(shù)據(jù)而被生成、填充。不論數(shù)據(jù)從何處獲取,數(shù)據(jù)集都是通過使用同樣的程序模板而被操作的,并且它使用相同的潛在的數(shù)據(jù)緩

15、沖區(qū)。</p><p><b>  第二章 系統(tǒng)分析</b></p><p><b>  2.1需求分析</b></p><p>  立足于校園實(shí)際,著眼于未來發(fā)展,建成符合標(biāo)準(zhǔn)化協(xié)議、通用性較強(qiáng)、實(shí)用的網(wǎng)站系統(tǒng),以提高網(wǎng)絡(luò)現(xiàn)代化管理水平,實(shí)現(xiàn)信息資源的共享。現(xiàn)在校園網(wǎng)是由靜態(tài)html、基于asp和腳本語言相結(jié)合的網(wǎng)站,對

16、其管理操作繁瑣,效率低。通過升級,運(yùn)用ASP.net將其整合,使其管理操作方便,效率更高、更容易開發(fā)和修改。從而實(shí)現(xiàn):</p><p>  1、增強(qiáng)性能。ASP.net是在服務(wù)器上運(yùn)行的編譯好的公共語言運(yùn)行庫代碼。與被解釋的前輩不同,ASP.net可利用早期綁定、實(shí)時(shí)編譯、本機(jī)優(yōu)化和核外緩存服務(wù)。這相當(dāng)于在編寫代碼之前便提高了性能。</p><p>  2、提高威力和靈活性。由于ASP.n

17、et基于公共語言運(yùn)行庫,因此Web應(yīng)用程序開發(fā)人員可以利用整個(gè)平臺的威力和靈活性。.NET框架類庫、數(shù)據(jù)訪問解決方案都可以從Web無縫訪問。</p><p>  3、提高簡易性。ASP.net使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身份驗(yàn)證到部署和站點(diǎn)配置。</p><p>  4、提高可管理性。ASP.net采用基于文本的分層配置系統(tǒng),簡化了將設(shè)置應(yīng)用與服務(wù)器環(huán)境和Web應(yīng)用程序

18、。由于配置信息以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。</p><p>  4、提高可縮放和可用性。ASP.net在設(shè)計(jì)時(shí)考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。</p><p>  5、提高自定義和可擴(kuò)展性。ASP.net中,可以用自己編寫的自定義組件擴(kuò)展或替換ASP.net運(yùn)行庫的任何子組件。</p><

19、p>  6、提高安全性。借助內(nèi)置的Windows身份驗(yàn)證和基于每個(gè)應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。</p><p>  2.2網(wǎng)站及系統(tǒng)目標(biāo)設(shè)計(jì)</p><p>  網(wǎng)站開發(fā)的總目標(biāo)是運(yùn)用ASP.net將網(wǎng)站整合,使其管理操作方便,效率更高、更容易開發(fā)和修改。</p><p>  能夠在CMS系統(tǒng)中對用戶進(jìn)行注冊登記,分配用戶的權(quán)限,對用戶進(jìn)行鎖定和

20、解鎖等管理。</p><p>  能夠添加管理類別,類別支持四級聯(lián)動。</p><p>  能夠添加管理類別內(nèi)容,包括標(biāo)題、圖片、內(nèi)容、發(fā)布者、是否審核、添加時(shí)間等信息。</p><p>  能夠?qū)ξ募芾砗蛿?shù)據(jù)庫的備份和還原。</p><p>  提供方便的查詢方法。如:標(biāo)題、內(nèi)容等信息進(jìn)行信息檢索。提供較為完善的差錯(cuò)控制與友好的用戶界面,

21、盡量避免誤操作。</p><p>  2.3網(wǎng)站前臺各欄目模塊設(shè)計(jì)</p><p>  網(wǎng)站前臺包括:首頁、學(xué)院概況、新聞中心、教育教學(xué)、學(xué)團(tuán)風(fēng)采、系部設(shè)置、招生就業(yè)、思政黨建、科研督導(dǎo)、后勤服務(wù)。其欄目模塊圖,如圖2.1所示:</p><p>  圖2.1 網(wǎng)站欄目模塊</p><p>  2.4網(wǎng)站管理系統(tǒng)CMS各功能模塊設(shè)計(jì)</p

22、><p>  網(wǎng)站管理系統(tǒng)CMS包括:網(wǎng)站常規(guī)管理、欄目分類管理、欄目內(nèi)容管理、用戶權(quán)限管理。其欄目模塊圖,如圖2.2所示:</p><p>  圖2.2 網(wǎng)站后臺管理系統(tǒng)欄目模塊</p><p><b>  2.5數(shù)據(jù)流圖</b></p><p> ?。?)文件信息編輯及查詢, 如圖2.3所示:</p>&l

23、t;p>  圖2.3 圖文件信息編輯及查詢</p><p>  說明:此項(xiàng)只有超級管理員才可以操作??梢詾g覽整個(gè)網(wǎng)站的文件及結(jié)構(gòu),添加和編輯文件。</p><p>  (2)數(shù)據(jù)備份還原, 如圖2.3所示:</p><p>  圖2.3 圖數(shù)據(jù)備份還原</p><p>  說明:輸入備份數(shù)據(jù)庫名單擊開始備份即可進(jìn)行備份,不要輕易進(jìn)行還原

24、操作。</p><p>  (3)欄目分類添加及編輯,如圖2.4所示:</p><p>  圖2.4 欄目分類添加及編輯</p><p>  說明:管理員根據(jù)自己的權(quán)限對相應(yīng)的類進(jìn)行管理,分類目前只支持四級。</p><p>  (4)欄目內(nèi)容添加及編輯, 如圖2.5所示:</p><p>  圖2.5 欄目內(nèi)容的添加

25、及編輯</p><p>  (5)用戶權(quán)限的添加及編輯, 如圖2.6所示:</p><p>  圖2.6用戶權(quán)限的添加及編輯</p><p>  說明:管理員可以修改自己的密碼,超級管理員可以添加管理員和管理成員并對管理員進(jìn)行權(quán)限分配。</p><p><b>  第三章 數(shù)據(jù)庫設(shè)計(jì)</b></p><

26、;p>  3.1數(shù)據(jù)庫需求分析</p><p>  經(jīng)需求和分析,針對本網(wǎng)站的需求和對CMS系統(tǒng)圖的分析,設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)</p><p>  分類信息:包括編號,編碼,父編碼,類型,名稱,顯示名稱,前臺鏈接,后天鏈接,是否回收。</p><p>  新聞信息:包括編號,標(biāo)題,圖片,類別名稱,類別編碼,內(nèi)容,發(fā)布者,發(fā)布日期,點(diǎn)擊率,是否審核,是否回

27、收,標(biāo)識。</p><p>  評論信息:包括編號,標(biāo)題,新聞編號,新聞標(biāo)題,評論內(nèi)容,評論者,評論日期。</p><p>  概況信息:包括編號,標(biāo)題,圖片,類別名稱,類別編碼,內(nèi)容,發(fā)布者,發(fā)布日期,是否審核,是否回收,標(biāo)識。</p><p>  部門信息:包括編號,標(biāo)題,圖片,鏈接,內(nèi)容,發(fā)布者,發(fā)布日期,是否審核,是否回收。</p><p

28、>  友情鏈接信息:包括編號,標(biāo)題,圖片,鏈接,內(nèi)容,發(fā)布者,發(fā)布日期,是否審核,是否回收。</p><p>  用戶信息:包括編號,用戶名,密碼,是否鎖定,注冊日期,最后登錄日期,登錄次數(shù),標(biāo)識。</p><p>  用戶權(quán)限信息:包括編號,用戶編號,類型,類別編碼,權(quán)限說明,標(biāo)識。</p><p>  備份還原信息:包括編號,備份名稱,備份路徑,備份日期,

29、還原日期。</p><p>  3.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)</p><p>  數(shù)據(jù)庫設(shè)計(jì)有幾個(gè)范式,一般我們要做到的是第三范式,即數(shù)據(jù)表中沒有冗余字段以及同一個(gè)表中的字段沒有函數(shù)依賴關(guān)系,,函數(shù)依賴性就是一個(gè)表中的字段間不應(yīng)該有計(jì)算關(guān)系,如一個(gè)表中有單價(jià)字段、數(shù)量字段,就不應(yīng)該有一個(gè)總金額字段。如果程序運(yùn)行過程中需要總金額,可以實(shí)時(shí)計(jì)算。不過在一些較常用的表中,我們可以適當(dāng)?shù)乇A羧哂嘧侄?,這樣

30、,在程序運(yùn)行過程中可以減少由于表間互相關(guān)聯(lián)而使用速度降低等問題。這就是所謂的第四范式。數(shù)據(jù)表設(shè)計(jì)時(shí),最好不要使用用戶輸入的信息作為主鍵,每一個(gè)數(shù)據(jù)表自己定義一個(gè)主鍵,添加信息是由程序自動添加,這樣就可以減少數(shù)據(jù)更新時(shí)產(chǎn)生的錯(cuò)誤。表與表相關(guān)聯(lián)的外鍵最好是由程序自動生成的主鍵,這樣數(shù)據(jù)庫就比較規(guī)范了。數(shù)據(jù)庫初期設(shè)計(jì)時(shí)一定要謹(jǐn)慎,把所有可能的情況都考慮進(jìn)去,即使當(dāng)時(shí)沒有用到,也要將它留在數(shù)據(jù)庫中作為備用字段以便將來擴(kuò)充。</p>

31、<p>  程序一旦開始編碼,就應(yīng)該盡量避免再修改數(shù)據(jù)庫。因?yàn)槿绻麛?shù)據(jù)庫結(jié)構(gòu)一旦改變,所有與修改的數(shù)據(jù)表相關(guān)的業(yè)務(wù)都有可能受到影響,而某些影響還很難看到,這樣就容易形成一個(gè)惡性循環(huán)。錯(cuò)誤越改越多,越改越亂,最終導(dǎo)致程序的失敗。</p><p>  圖書管理系統(tǒng)數(shù)據(jù)庫中各個(gè)表的設(shè)計(jì)結(jié)果如下面幾個(gè)表格所示。</p><p>  分類信息表,如表3.1</p><

32、p>  說明:編號設(shè)為主鍵.</p><p>  表3.1 分類信息表</p><p>  新聞信息表,如表3.2</p><p>  說明:編號設(shè)為主鍵,類別編碼設(shè)為外鍵。</p><p>  表3.2 新聞信息表</p><p>  評論信息表,如表3.3</p><p>  說明:標(biāo)

33、號設(shè)為主鍵,新聞編號設(shè)為外鍵。</p><p>  表3.3 評論信息表</p><p>  概況信息表,如表3.4</p><p>  說明:編號設(shè)為主鍵,類別編碼設(shè)為外鍵。</p><p>  表3.4 概況信息表</p><p>  部門信息表,如表3.5</p><p>  表3.5 部

34、門信息表</p><p>  友情鏈接信息表,如表3.5</p><p>  說明:編號設(shè)為主鍵。</p><p>  表3.5 友情鏈接信息表</p><p>  用戶信息表,如表3.6</p><p><b>  說明:用戶名為主鍵</b></p><p>  表3.6

35、 用戶信息表</p><p>  用戶權(quán)限表,如表3.7</p><p><b>  說明:編號為主鍵</b></p><p>  表3.7 用戶權(quán)限表</p><p><b>  3.2數(shù)據(jù)庫關(guān)系圖</b></p><p>  第四章 網(wǎng)站前臺的具體實(shí)現(xiàn)</p>

36、<p>  4.1 網(wǎng)站前臺開發(fā)的基本步驟</p><p>  創(chuàng)建頁面和使用ASP.NET應(yīng)用程序大致可分為四個(gè)步驟:</p><p> ?。?)建立網(wǎng)站頁面。</p><p><b> ?。?)設(shè)置屬性。</b></p><p><b> ?。?)編寫代碼。</b></p&g

37、t;<p> ?。?)保存和運(yùn)行程序。</p><p>  4.2 具體頁面的實(shí)現(xiàn)</p><p>  (1)首頁 (index.aspx)</p><p>  本網(wǎng)站采用div+css布局,布局新穎,打破了以往的方正結(jié)構(gòu),如國字型。首頁簡介大方,以綠色為主色調(diào),象征著青春活力,充滿著勃勃生機(jī)。</p><p>  首頁名為:i

38、ndex , 首頁界面如圖4.1所示:</p><p>  圖4.1 首頁界面</p><p><b>  主要代碼如下:</b></p><p><b>  //綁定校園新聞</b></p><p>  string sql = "select top 8 * from tb_news

39、 where news_class_code in('L0202','L0203','L0204','L0205') and news_check='1' and news_recyle='1'";</p><p>  this.GridView1.DataSource = access.GreatDs(sq

40、l);</p><p>  this.GridView1.DataBind();</p><p><b>  //綁定最新公告</b></p><p>  newsmanage.News_Class_Code = "L0206";</p><p>  DataSet newsds = newsmana

41、ge.FindNewsByClass(newsmanage ,"tb_news");</p><p>  this.GridView2.DataSource = newsds;</p><p>  this.GridView2.DataBind();</p><p> ?。?)二級頁面(Default.aspx)</p><p

42、>  二級頁面有學(xué)院概況,新聞中心等頁面,頁面default依據(jù)類別編碼顯示對應(yīng)的內(nèi)容。</p><p>  二級頁面名為:Default,二級頁面界面如圖4.2所示:</p><p>  圖4.2 二級頁面界面</p><p><b>  主要代碼如下:</b></p><p>  #region 按類別顯示新

43、聞</p><p>  PagedDataSource ps = new PagedDataSource();</p><p>  newsmanage.News_Class_Code = Request["right_code"].ToString();</p><p>  string sql1 = "select * from s

44、ys_right where right_code= '" + Request["right_code"].ToString() + "'";</p><p>  DataTable dt = new DataTable();dt = access.GreatDs(sql1).Tables[0];</p><p>  if

45、(dt.Rows.Count > 0) { this.Label1.Text = Label2.Text = dt.Rows[0]["right_text"].ToString();}</p><p>  string sql = "select * from tb_news where news_class_code='" + Request["r

46、ight_code"].ToString() + "' and news_check='1' and news_recyle='1'";</p><p>  SqlDataAdapter adp = new SqlDataAdapter(sql, con);</p><p>  DataSet ds = new Data

47、Set();</p><p>  adp.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "tb_news");</p><p>  ps.DataSource = ds.Tables["tb_news"].Def

48、aultView; ps.AllowPaging = true; </p><p>  ps.PageSize = 10; this.rpt_news.DataSource = ds.Tables["tb_news"];</p><p>  this.rpt_news.DataBind();</p><p>  #endregi

49、on</p><p> ?。?)三級頁面(onews.aspx)</p><p>  三級頁面依據(jù)二級頁面的傳值顯示詳細(xì)內(nèi)容,新聞頁面可以對新聞發(fā)表評論。</p><p>  三級頁面名為:onews , 三級頁面界面如圖4.3所示:</p><p>  圖4.3 圖書入庫窗體界面</p><p><b> 

50、 主要代碼如下:</b></p><p>  #region 顯示新聞內(nèi)容</p><p>  newsmanage.News_Id = Convert.ToInt32(Request["news_id"].ToString());</p><p>  DataTable dt = new DataTable();</p>

51、<p>  dt = newsmanage.FindNewsByID(newsmanage, "tb_news").Tables[0];</p><p>  sPagesTitle = this.lblTile.Text = dt.Rows[0]["news_title"].ToString();</p><p>  this.lblA

52、uthor.Text = dt.Rows[0]["news_author"].ToString();</p><p>  this.lblTime.Text =dt.Rows[0]["news_time"].ToString().Substring(0, 9);</p><p>  this.lblHit.Text = dt.Rows[0][&quo

53、t;news_hit"].ToString();</p><p>  this.lblConent.Text = dt.Rows[0]["news_content"].ToString();</p><p>  #endregion</p><p><b>  4.3 結(jié)果分析</b></p><

54、;p>  以上是“網(wǎng)站前臺”開發(fā)的主要過程,前臺總共只有4個(gè)頁面,但4個(gè)頁面的集成度很高,一個(gè)頁面具有多種功能。后臺每添加一個(gè)類或內(nèi)容都會綁定當(dāng)前臺相應(yīng)的頁面上。二級頁面里的類別是于數(shù)據(jù)庫動態(tài)綁定的,包括顯示內(nèi)容和鏈接地址等都可以在后臺動態(tài)添加和修改。校園風(fēng)光一欄采用JS+CSS+DIV實(shí)現(xiàn)了圖片展示的動感效果。當(dāng)然還存在許多的不足:不夠美觀,實(shí)用性、靈活性還不是很好等。</p><p>  第五章 網(wǎng)站管

55、理系統(tǒng)CMS的具體實(shí)現(xiàn)</p><p>  5.1 ASP.NET應(yīng)用程序開發(fā)的基本步驟</p><p>  創(chuàng)建和使用VB.NET應(yīng)用程序大致可分為四個(gè)步驟:</p><p>  (1)建立應(yīng)用程序頁面。</p><p><b>  (2)設(shè)置屬性。</b></p><p><b> 

56、?。?)編寫代碼。</b></p><p> ?。?)保存和運(yùn)行程序。</p><p>  5.2 類結(jié)構(gòu)的實(shí)現(xiàn)</p><p>  圖5.1 類結(jié)構(gòu)圖</p><p>  5.3 具體頁面的實(shí)現(xiàn)</p><p> ?。?)登錄頁面 (Login)</p><p>  .net程序

57、由一個(gè)應(yīng)用程序開始,即每個(gè).net程序在開始運(yùn)行時(shí),先執(zhí)行應(yīng)用程序?qū)ο蟮腖oad事件。通過調(diào)用database類連接數(shù)據(jù)庫。本窗口主要是檢查操作員輸入的用戶名、密碼及驗(yàn)證碼是否正確,如果正確,允許登錄進(jìn)入到主菜單頁面。如果錯(cuò)誤,顯示出錯(cuò)誤提示。填寫“用戶名”、“密碼”與選擇“驗(yàn)證碼”后,點(diǎn)擊“登錄”按鈕進(jìn)行驗(yàn)證,點(diǎn)擊“取消登錄”退出。</p><p>  登錄頁面名為:Login , 登錄頁面界面如圖5.2所示:

58、</p><p>  圖5.2 登錄頁面界面</p><p><b>  主要代碼如下:</b></p><p>  if (txtAdmin.Text == string.Empty)</p><p>  {Response.Write("<script>alert('管理員名稱不能為空

59、!')</script>");</p><p><b>  return; }</b></p><p><b>  else</b></p><p>  {DataSet adminds = null;</p><p>  adminmanage.Name = this

60、.txtAdmin.Text;</p><p>  adminmanage.Pwd = this.txtPwd.Text;</p><p>  adminds = adminmanage.Login(adminmanage);</p><p>  if (adminds.Tables[0].Rows.Count > 0 && this.txtC

61、ode.Text.Trim() ==Convert.ToString( Request.Cookies["CheckCode"].Value))</p><p>  {if (adminds.Tables[0].Rows[0]["user_islock"].ToString() == "unlock")</p><p>  {Se

62、ssion["Name"] = txtAdmin.Text;</p><p>  Session["id"] = adminds.Tables[0].Rows[0]["user_id"].ToString();</p><p>  Response.Redirect("index.html");}</p&

63、gt;<p><b>  else</b></p><p>  {Response.Write("<script>alert('該賬號已被凍結(jié),請與超級管理員聯(lián)系!')</script>");}}</p><p>  else if (this.txtCode.Text.Trim() != Co

64、nvert.ToString(Request.Cookies["CheckCode"].Value))</p><p>  {Response.Write("<script>alert('驗(yàn)證碼不正確!')</script>");</p><p>  this.txtCode.Text= string.Empt

65、y;</p><p>  this.txtPwd.Focus();}</p><p><b>  else</b></p><p>  {Response.Write("<script>alert('登錄名或密碼不正確!')</script>");}}</p><p

66、>  (2)管理系統(tǒng)CMS主界面(index.html)</p><p>  若以超級管理員身份進(jìn)入則可進(jìn)行使用菜單所有項(xiàng),若以一般用戶身份進(jìn)入到主菜單窗體則只有自己擁有的權(quán)限范圍內(nèi)完成相應(yīng)的操作。主界面中會顯示正在使用系統(tǒng)的管理員相關(guān)信息,包括管理員名稱、擁有的權(quán)限、注冊日期、登錄次數(shù)等信息。</p><p>  管理系統(tǒng)CMS主界面:index.html,管理系統(tǒng)CMS主界面界面

67、如圖5.3示:</p><p>  圖5.3管理系統(tǒng)主界面</p><p><b>  主要代碼如下:</b></p><p>  string username = Session["Name"].ToString();</p><p>  DataTable dt = new DataTable(

68、);DataTable dtrole1 = new DataTable();</p><p>  //以下代碼完成了datatable的構(gòu)架,但是里面是沒有任何數(shù)據(jù)的</p><p>  DataTable dtrole2 = new DataTable("tb_class");</p><p>  DataColumn dc1 = dtrole

69、2.Columns.Add("right_code", typeof(string));</p><p>  DataColumn dc2 = dtrole2.Columns.Add("right_text", typeof(string));</p><p>  DataColumn dc = dtrole2.Columns.Add("r

70、ight_url_ht", typeof(string)); </p><p>  dt = rolemanage.FindRoleByUserName("sys_role", username).Tables[0];</p><p>  string s = dt.Rows[0]["role_desc"].ToString()

71、; </p><p>  string[] ss = s.Split('|'); string sql = "";</p><p>  for (int i = 0; i < ss.Length-1; i++)</p><p>  {sql = "select * from sys_right wher

72、e right_code='" + ss[i] + "'and right_recyle='1'";</p><p>  dtrole1 = access.GreatDs(sql).Tables[0];</p><p>  string right_code = dtrole1.Rows[0]["right_code&

73、quot;].ToString();</p><p>  string right_text = dtrole1.Rows[0]["right_text"].ToString();</p><p>  string right_url_ht = dtrole1.Rows[0]["right_url_ht"].ToString();</p>

74、<p>  DataRow row = dtrole2.NewRow();row["right_code"] = right_code;</p><p>  row["right_text"] = right_text; row["right_url_ht"] = right_url_ht;</p><p>  dt

75、role2.Rows.Add(row); } DataSet ds = new DataSet();</p><p>  ds.Tables.Add(dtrole2);</p><p>  this.Repeater1.DataSource = ds.Tables[0].DefaultView; </p><p>  this.Repeater1.DataBind(

76、); </p><p> ?。?)文件管理頁面(FileManage.aspx)</p><p>  超級管理員可以對整個(gè)網(wǎng)站的文件進(jìn)行管理,包括文件的添加、上傳、刪除、修改文件內(nèi)容及文件名稱的重命名。</p><p>  文件管理頁面:FileManage.aspx, 文件管理頁面界面如圖5.4所示:</p><p>  圖5.4 文件管

77、理界面</p><p><b>  主要代碼如下:</b></p><p><b>  // 操作處理</b></p><p>  FileManagerProcessor fileManage = new FileManagerProcessor(Request.QueryString["act"])

78、;</p><p>  builder.Append(fileManage.Value);</p><p>  if (string.IsNullOrEmpty(folderPath))</p><p><b>  {</b></p><p>  folderPath = Server.MapPath(".&q

79、uot;);</p><p><b>  }</b></p><p>  // 組合路徑, 快速導(dǎo)航</p><p>  string comePath = "";</p><p>  foreach (string q in folderPath.Split('\\'))</p

80、><p><b>  {</b></p><p>  comePath += q;</p><p>  currPath.AppendFormat("<a href=\"filemanage.aspx?path={1}\">{0}</a>", q + "\\", c

81、omePath);</p><p>  comePath += "\\";</p><p><b>  }</b></p><p><b>  // 返回上級</b></p><p>  if (new DirectoryInfo(folderPath).Root.ToStrin

82、g().Replace("\\", "") != folderPath.ToUpper())</p><p><b>  {</b></p><p>  string previousFolder = folderPath.Substring(0, folderPath.LastIndexOf("\\"));

83、</p><p>  backHtml = "<tr class=\"m-row2\"><td colspan=\"5\"><a href=\"filemanage.aspx?path=" + Server.UrlEncode(previousFolder) + "\"><img s

84、rc=\"Images/IcoLeft.gif\" alt=\"返回上級\" align=\"absmiddle\" /> 返回上級</a></td></tr>";</p><p><b>  }</b></p><p><b>  else<

85、;/b></p><p><b>  {</b></p><p>  folderPath += "\\";</p><p><b>  }</b></p><p><b>  // 綁定數(shù)據(jù)</b></p><p>  fil

86、eManage = new FileManagerProcessor();</p><p>  List<FileFolderInfo> files = fileManage.GetDirectories(folderPath);</p><p>  if (fileManage.Access)</p><p><b>  {</b>

87、;</p><p>  folderNum = fileManage.FolderNum;</p><p>  fileNum = fileManage.FileNum;</p><p>  rptList.DataSource = files;</p><p>  rptList.DataBind();</p><p&g

88、t;<b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  builder.Append("無權(quán)限訪問該目錄. <a href='javascript:history.go(-1);' style

89、='font-weight: normal'>后退</a>");</p><p><b>  }</b></p><p>  if (builder.ToString() != "")</p><p><b>  {</b></p><p&

90、gt;  string builderResult = builder.ToString();</p><p>  builder = new System.Text.StringBuilder("");</p><p>  builder.AppendFormat("<script type=\"text/javascript\"&

91、gt;$(\"#tips\").show(); $(\"#tipsMsg\").html(\"{0}\"); </script>", builderResult.Replace(@"\", @"\\"));</p><p><b>  }</b></p>&

92、lt;p>  (4)備份還原管理頁面(DB_BackUp.aspx)</p><p>  備份還原管理。管理員可以對數(shù)據(jù)庫進(jìn)行備份和還原,但注意的地方就是不要輕易的還原,以免數(shù)據(jù)的丟失。</p><p>  備份還原管理頁面名為:DB_BackUp.aspx, 備份還原管理頁面界面如圖5.5所示:</p><p>  圖5.5 借書窗體界面</p>

93、<p><b>  主要代碼如下:</b></p><p><b>  //開始備份</b></p><p>  SqlConnection con = DB.CreateCon();</p><p>  myupimg oper = new myupimg();//文件操作類</p><

94、p>  DbOper dbdo = new DbOper();//數(shù)據(jù)庫備份類</p><p>  string bkname = this.TextBox1.Text;</p><p>  string bkpath = Server.MapPath(@"backup\" + bkname + ".bat");</p><

95、p>  oper.CreateFolder(@"backup\");</p><p>  string bktime = DateTime.Now.ToString("d");</p><p>  string rstime = "";</p><p>  //數(shù)據(jù)庫備份并寫入數(shù)據(jù)庫</p>

96、;<p>  dbdo.DbBackup(".", "sa", "", "lgzy", bkpath, bkname, "數(shù)據(jù)備份");</p><p>  string sql = "insert into sys_backup(backup_name,backup_path,backup

97、_time,backup_rs_time) values('" + bkname + "','" + bkpath + "','" + bktime + "','" + rstime + "');";</p><p>  access.DoSql(sql);&l

98、t;/p><p><b>  //數(shù)據(jù)重新綁定</b></p><p>  BindTomyGrid();</p><p> ?。?)添加分類頁面(ClassAdd.aspx)</p><p>  添加分類。超級管理員可以添加所有的分類,管理員只可對權(quán)限范圍內(nèi)的類別進(jìn)行添加。</p><p>  添加

99、分類頁面名為:ClassAdd.aspx, 添加分類頁面界面如圖5.6所示:</p><p>  圖5.6添加分類頁面</p><p><b>  主要代碼如下:</b></p><p><b>  //自動編碼初始化</b></p><p>  if (Request["right_id

100、"] != null)</p><p><b>  {</b></p><p>  this.Label1.Text=this.Label2.Text= "修改分類";</p><p>  this.btnBack.Visible = true;</p><p>  this.ddlPare

101、ntTitle.AutoPostBack = false;</p><p>  rightmanage.Right_ID =Convert.ToInt32(Request["right_id"].ToString());</p><p>  DataTable dt = new DataTable();</p><p>  dt = rightm

102、anage.FindRigthInfByID(rightmanage,"sys_right").Tables[0];</p><p>  this.txtCode.Text=dt.Rows[0]["right_code"].ToString();</p><p>  this.txtHTUrl.Text = dt.Rows[0]["righ

103、t_url_ht"].ToString();</p><p>  this.txtTip.Text = dt.Rows[0]["right_tip"].ToString();</p><p>  this.txtTitle.Text = dt.Rows[0]["right_text"].ToString();</p><

104、p>  this.txtUrl.Text = dt.Rows[0]["right_url"].ToString();</p><p>  this.ddlParentTitle.SelectedValue = dt.Rows[0]["right_parent_code"].ToString();</p><p>  this.ddlType.S

105、electedValue = dt.Rows[0]["right_type"].ToString();</p><p><b>  }</b></p><p><b>  Else</b></p><p><b>  {</b></p><p>  this

106、.Label1.Text = this.Label2.Text= "添加分類";</p><p>  this.btnBack.Visible =false;</p><p>  rightmanage.Right_Parent_Code = this.ddlParentTitle.Items[0].Value;</p><p>  DataSe

107、t ds1 = rightmanage.FindAllRightByParentCode(rightmanage, "Folder", "sys_right");</p><p>  int t = ds1.Tables[0].Rows.Count;</p><p>  rightcode = "L0" + (Convert.To

108、Int32(ds1.Tables[0].Rows[ds1.Tables[0].Rows.Count - 1][0].ToString().Substring(1, 2)) + 1);</p><p>  this.txtCode.Text = rightcode;</p><p>  this.txtTip.Text = "└├";</p><p&g

109、t;<b>  }</b></p><p> ?。?)管理分類頁面(ClassManage.aspx)</p><p>  管理分類。管理員可以對分類進(jìn)行修改,刪除等操作。</p><p>  管理分類頁面名為:ClassManage.aspx, 管理分類頁面界面如圖5.7所示:</p><p>  圖5.7管理分類頁面

110、</p><p><b>  主要代碼如下:</b></p><p>  userid = Convert.ToInt32(Session["id"].ToString()); </p><p>  DataTable dtrole1 = new DataTable(); </p><

111、p>  //以下代碼完成了datatable的構(gòu)架,但是里面是沒有任何數(shù)據(jù)的</p><p>  DataTable dtrole2 = new DataTable("tb_class");</p><p>  DataColumn dc1 = dtrole2.Columns.Add("right_code", typeof(string));

112、</p><p>  DataColumn dc2 = dtrole2.Columns.Add("right_parent_code", typeof(string));</p><p>  DataColumn dc3 = dtrole2.Columns.Add("right_type", typeof(string));</p>&

113、lt;p>  DataColumn dc4 = dtrole2.Columns.Add("right_text", typeof(string)); </p><p>  DataColumn dc5 = dtrole2.Columns.Add("right_url", typeof(string));</p><p>  Data

114、Column dc6 = dtrole2.Columns.Add("right_url_ht", typeof(string));</p><p>  DataColumn dc7 = dtrole2.Columns.Add("right_tip", typeof(string));</p><p>  dtrole1 = rolemanage.Fi

115、ndRoleByUserId("sys_role", userid).Tables[0];</p><p>  string s = dtrole1.Rows[0]["role_desc"].ToString();</p><p>  string[] ss = s.Split('|'); string sql = "&qu

116、ot;;</p><p>  for (int i = 0; i < ss.Length - 1; i++)</p><p>  {sql = "select * from sys_right where right_code='" + ss[i] + "'and right_recyle='1'";</p

117、><p>  dtrole1 = access.GreatDs(sql).Tables[0];</p><p>  string right_code = dtrole1.Rows[0]["right_code"].ToString();</p><p>  string right_parent_code = dtrole1.Rows[0][&qu

118、ot;right_parent_code"].ToString();</p><p>  string right_type = dtrole1.Rows[0]["right_type"].ToString();</p><p>  string right_text = dtrole1.Rows[0]["right_text"].ToSt

119、ring();</p><p>  string right_url = dtrole1.Rows[0]["right_url"].ToString();</p><p>  string right_url_ht = dtrole1.Rows[0]["right_url_ht"].ToString();</p><p>  

120、string right_tip = dtrole1.Rows[0]["right_tip"].ToString();</p><p>  DataRow row = dtrole2.NewRow();</p><p>  row["right_code"] = right_code;</p><p>  row["

121、right_parent_code"] = right_parent_code;</p><p>  row["right_type"] = right_type;</p><p>  row["right_text"] = right_text;</p><p>  row["right_url"

122、;] = right_url;</p><p>  row["right_url_ht"] = right_url_ht;</p><p>  row["right_tip"] = right_tip;</p><p>  dtrole2.Rows.Add(row); }</p><p>  DataS

123、et ds = new DataSet();</p><p>  ds.Tables.Add(dtrole2);</p><p>  this.DropDownList1.DataSource = ds.Tables[0].DefaultView;</p><p>  this.DropDownList1.DataTextField = "right_te

124、xt";</p><p>  this.DropDownList1.DataValueField = "right_code";</p><p>  this.DropDownList1.DataBind();</p><p> ?。?)欄目內(nèi)容管理頁面(ContentManage.aspx)</p><p> 

125、 欄目內(nèi)容管理。管理員可以對欄目對應(yīng)的內(nèi)容進(jìn)行管理,還有回收站功能。在管理頁面刪除的內(nèi)容可以在回收站里找到并可以對其還原和徹底刪除。</p><p>  欄目內(nèi)容管理頁面名為: ContentManage.aspx, 欄目內(nèi)容管理頁面如圖5.8所示:</p><p>  圖5.9欄目內(nèi)容管理頁面</p><p><b>  主要代碼如下:</b>

126、;</p><p>  #region 依據(jù)--分類編號--綁定新聞中心</p><p>  public void BindTogwNews(string parentcode)</p><p><b>  {</b></p><p><b>  //管理列表</b></p><

溫馨提示

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

評論

0/150

提交評論