版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目 錄TOC o 1-3 u HYPERLINK l _Toc105680341 前言 PAGEREF _Toc105680341 h 1 HYPERLINK l _Toc105680342 第一章 研究背景 PAGEREF _Toc105680342 h 2 HYPERLINK l _Toc105680343 1.1 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢 PAGEREF _Toc105680343 h 2 HYPERLINK l _Toc105680344 1.2 研究目的、意義和范圍 PAGEREF _Toc105680344 h 3 HYPERLINK l _Toc105680345 第二章 課題分
2、析 PAGEREF _Toc105680345 h 4 HYPERLINK l _Toc105680346 2.1 需求分析 PAGEREF _Toc105680346 h 4 HYPERLINK l _Toc105680347 2.2 新聞系統(tǒng)的性能需求 PAGEREF _Toc105680347 h 5 HYPERLINK l _Toc105680348 2.3 相關(guān)技術(shù)與開發(fā)工具介紹 PAGEREF _Toc105680348 h 62.3.1 HYPERLINK l _Toc105680349 VisualStudio 2008的介紹 PAGEREF _Toc105680349 h 6
3、2.3.2 HYPERLINK l _Toc105680350 SQL查詢語言及應(yīng)用 PAGEREF _Toc105680350 h 6 HYPERLINK l _Toc105680351 第三章系統(tǒng)結(jié)構(gòu)流程 PAGEREF _Toc105680351 h 6 HYPERLINK l _Toc105680352 3.1 新聞系統(tǒng)的模型結(jié)構(gòu) PAGEREF _Toc105680352 h 6 HYPERLINK l _Toc105680353 3.2 新聞系統(tǒng)的功能模塊簡介 PAGEREF _Toc105680353 h 7 HYPERLINK l _Toc105680354 第四章使用技術(shù)的介
4、紹 PAGEREF _Toc105680354 h 9 HYPERLINK l _Toc105680355 4.1 .NET Framework概述 PAGEREF _Toc105680355 h 9 HYPERLINK l _Toc105680356 4.2 ASP.NET、ADO.NET和C#語言簡介 PAGEREF _Toc105680356 h 10 HYPERLINK l _Toc105680357 第五章新聞系統(tǒng)的主要開發(fā)過程 PAGEREF _Toc105680357 h 12 HYPERLINK l _Toc105680358 5.1 數(shù)據(jù)庫設(shè)計 PAGEREF _Toc105
5、680358 h 12 HYPERLINK l _Toc105680359 5.2各主要窗體頁的圖形界面介紹 PAGEREF _Toc105680359 h 13 HYPERLINK l _Toc105680360 5.3 頁面的風格設(shè)計 PAGEREF _Toc105680360 h 15 HYPERLINK l _Toc105680361 5.4 系統(tǒng)配置 PAGEREF _Toc105680361 h 15 HYPERLINK l _Toc105680362 5.4.1 Web.config文件配置 PAGEREF _Toc105680362 h 16 HYPERLINK l _Toc1
6、05680363 5.4.2 配置發(fā)布主頁 PAGEREF _Toc105680363 h 16 HYPERLINK l _Toc105680364 5.5 系統(tǒng)部分重要功能及其代碼 PAGEREF _Toc105680364 h 19 HYPERLINK l _Toc105680365 5.5.1 Web用戶控件 PAGEREF _Toc105680365 h 19 HYPERLINK l _Toc105680366 5.5.2 通用類代碼 PAGEREF _Toc105680366 h 19 HYPERLINK l _Toc105680367 5.5.3 添加發(fā)布新聞27 HYPERLIN
7、K l _Toc105680368 5.5.4 用戶注冊29第六章總結(jié)與展望 PAGEREF _Toc228859658 h 19致謝 PAGEREF _Toc228859659 h 19參考文獻 PAGEREF _Toc228859660 h 19新聞發(fā)布管理系統(tǒng)摘要:ASP.NET是新一代Web應(yīng)用程序開發(fā)平臺,它是一個已編譯的、基于.NET的開發(fā)環(huán)境,它提供了生成企業(yè)級應(yīng)用程序所必需的全部服務(wù),基于 .NET Framework 生成,整個框架都可用于任何 ASP.NET 應(yīng)用程序。可以使用任何與公共語言運行庫(CLR)兼容的語言(包括 Visual Basic.NET、C# 和 JSc
8、ript.NET)來創(chuàng)建應(yīng)用程序。該系統(tǒng)使用ASP.NET(C#語言)和ADO.NET技術(shù)開發(fā), 實現(xiàn)了網(wǎng)站新聞的動態(tài)管理,使得對信息的管理更加及時、高效,提高了工作效率,具有一般新聞系統(tǒng)的功能,主要包括前臺新聞查看區(qū)和后臺管理區(qū),可為學校各部門發(fā)布新聞,為校園網(wǎng)站提供新聞發(fā)布與管理的服務(wù)。關(guān)鍵詞ASP.NET ADO.NET 新聞管理 Browser/Server前言ASP.NET是微軟公司最新推出的一種統(tǒng)一Web開發(fā)平臺,與最新的數(shù)據(jù)訪問技術(shù)ADO.NET一起可構(gòu)建出強大、安全和可靠的企業(yè)級Web應(yīng)用程序。ASP.NET的語法在很大程度上與ASP兼容,同時它還提供一種新的編程模型和結(jié)構(gòu),用
9、于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序。采取了ASP.NET技術(shù)的系統(tǒng)在性能上有了很大的改善,主要表現(xiàn)在以下幾方面: 由于ASP頁面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁面在反復(fù)打開時速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應(yīng)用程序重新啟動。這使得在多次訪問時速度有了極大的提升; 由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用ASP撰寫數(shù)據(jù)庫頁面時只能借助ADO的RecordSet對象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫元件可以直接和數(shù)據(jù)庫聯(lián)系; ASP.NET支持應(yīng)用程序的實時更新,管
10、理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠不會被加鎖,因此甚至在程序運行時文件就可以被覆蓋,當文件更新后,系統(tǒng)會溫和地轉(zhuǎn)換到新的版本;ASP.NET采取CodeBehind(代碼分離)技術(shù)方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)開發(fā)與維護的復(fù)雜度和費用。研究背景1.1 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢傳統(tǒng)的網(wǎng)站新聞管理方式有兩種:一種是靜態(tài)HTML頁面,更新信息時需要重新制作頁面然后上傳頁面并修改相應(yīng)鏈接,這種方式因為效率太低已不多用;另一種是基于ASP和腳本語言,將動態(tài)網(wǎng)頁和數(shù)據(jù)庫結(jié)合,通過應(yīng)用程序來處理新聞,這是目前較為流行的做法。但是由
11、于ASP技術(shù)本身的局限性使得系統(tǒng)有一些不可克服的缺陷。ASP.NET不僅僅是下一版本的ASP(Active Server Pages,動態(tài)服務(wù)器頁面),而且是建立動態(tài)Web應(yīng)用程序而重新打造的全新技術(shù),其主要特色包括: 語言的獨立性; 簡單的開發(fā)操作,分離程序代碼和網(wǎng)頁內(nèi)容; 提高了執(zhí)行效率; 簡化部署與組態(tài)的操作; 支持客戶端類型; 支持下一代的Web服務(wù); 增進適用性; 增進延展性; 更多的支持工具; 更佳的安全機制; 會話(Session)可以跨進程、跨機器。由于ASP.NET的眾多優(yōu)點,技術(shù)發(fā)展和各種客觀實際的需要,該系統(tǒng)選用了ASP.NET來開發(fā)設(shè)計,實現(xiàn)了對校園新聞的動態(tài)管理操作,
12、使得對新聞信息的發(fā)布與管理更加及時、高效,提高了工作效率。1.2 研究目的、意義和范圍隨著Internet的普及,越來越多的企業(yè)建立了自己的WWW網(wǎng)站,企業(yè)通過網(wǎng)站可以展示產(chǎn)品,發(fā)布最新動態(tài)信息,與用戶進行交流和溝通,與合作伙伴建立聯(lián)系,以及開展電子商務(wù)等。其中新聞管理系統(tǒng)是構(gòu)成企業(yè)網(wǎng)站的一個重要組成部分,它擔負著雙層作用:一方面可以用來動態(tài)發(fā)布有關(guān)新產(chǎn)品或新開發(fā)項目;另一方面又可以及時向顧客公告企業(yè)經(jīng)營業(yè)績、技術(shù)與研發(fā)進展、特別推薦或優(yōu)惠的工程項目、產(chǎn)品和服務(wù),從而吸引顧客,擴大顧客群。該系統(tǒng)使用ASP.NET(C#語言)和ADO.NET技術(shù)開發(fā), 實現(xiàn)了網(wǎng)站新聞的動態(tài)管理,使得對信息的管理
13、更加及時、高效,提高了工作效率。該新聞系統(tǒng)具有一般新聞系統(tǒng)的功能,主要包括前臺新聞查看區(qū)和后臺管理區(qū),可為學校各部門發(fā)布新聞,為校園網(wǎng)站提供新聞發(fā)布與管理的服務(wù)。該系統(tǒng)是基于B/S(Browser/Server,瀏覽器/客戶端)模式實現(xiàn),基于.NET平臺架構(gòu)開發(fā)設(shè)計,主要實現(xiàn)對校園新聞的發(fā)布與管理功能,對新聞內(nèi)容信息的瀏覽閱讀等。 隨著Internet/Intranet技術(shù)的興起,將原本在單機或本地局域網(wǎng)上運行的數(shù)據(jù)庫系統(tǒng)移植到因特網(wǎng)中,即開發(fā)基于B/S模式的新一代MIS(Management Information System,管理信息系統(tǒng))系統(tǒng),正成為技術(shù)發(fā)展的趨勢。為了保證系統(tǒng)性能的高
14、效性、可擴展性,以及達到數(shù)據(jù)共享和網(wǎng)絡(luò)化管理的目的,本系統(tǒng)采用B/S體系結(jié)構(gòu)進行設(shè)計開發(fā)。課題分析2.1需求分析該系統(tǒng)的用戶為校園網(wǎng)站,需要經(jīng)常發(fā)布一些新聞,如何能有效地管理和發(fā)布新聞呢?最初用戶的需求為:“該新聞系統(tǒng)具有一般新聞系統(tǒng)的功能,同時具有新聞審核和不同管理員不同管理權(quán)限的功能” 。通過對其它一些新聞系統(tǒng)的調(diào)查發(fā)現(xiàn),一般新聞系統(tǒng)功能如下: 前臺按分類顯示新聞; 搜索新聞; 后臺管理: 添加、刪除和修改新聞 添加、刪除和修改用戶 添加、刪除和修改新聞分類 添加新聞(添加成功后的新聞根據(jù)管理員權(quán)限分為可發(fā)布新聞和待審核新聞)需要新聞審核,說明添加后的新聞分為兩種:直接發(fā)布新聞和待審核新聞
15、,同時待審核的新聞通過管理員或?qū)徍藛T經(jīng)審核后才可以上傳到網(wǎng)站,管理員有不同的權(quán)限,需要有個管理權(quán)限的功能,在系統(tǒng)中應(yīng)該有個超級管理員,具有所有權(quán)限,能夠?qū)ο到y(tǒng)進行全面管理,同時管理員可以修改自己的一些信息。根據(jù)校園網(wǎng)站新聞發(fā)布管理的實際需求,在首頁中能顯示最熱門新聞、頭條新聞和最近發(fā)布的幾條新聞等,同時在后臺發(fā)布新聞時可以添加圖片,也可以添加HTML語法,在前臺能自動根據(jù)所顯示的圖片和HTML語法來顯示新聞。在后臺管理中,因為有權(quán)限的管理員才能登錄管理后臺,所以需要有個登錄驗證模塊,而且需要根據(jù)用戶權(quán)限的不同顯示不同的管理目錄,在管理新聞和用戶時,當數(shù)據(jù)少時管理起來還比較方便,如果一多則想找到
16、某條新聞或某個用戶就很難,所以需要有個查找(新聞標題、用戶)模塊用于查找新聞或用戶。根據(jù)以上需求分析,該系統(tǒng)要實現(xiàn)的主要功能為: 前臺顯示新聞部分 用戶登錄區(qū) 顯示最熱門的前幾條新聞 顯示推薦的前幾條新聞 顯示最新的前幾條新聞 搜索新聞功能 顯示所有新聞分類(即部門) 按分類/部門顯示其下的所有新聞 新聞詳細信息瀏覽閱讀 圖片新聞(自動生成縮略圖)以滾動形式在首頁顯示且只顯示前幾條 網(wǎng)站友情鏈接(可在管理中添加設(shè)置) 網(wǎng)站公告可顯示發(fā)布了新聞但沒通過審核的一些相關(guān)通知等 后臺管理部分 登錄驗證 根據(jù)權(quán)限顯示相應(yīng)的管理目錄 添加、修改和刪除新聞 管理發(fā)布新聞 管理審核新聞 分類管理 用戶管理 網(wǎng)
17、站風格設(shè)置、系統(tǒng)設(shè)置等2.2 新聞系統(tǒng)的性能需求該系統(tǒng)在性能功能上應(yīng)達到如下需求:操作簡單、界面友好: 完全控件式的頁面布局,使得新聞的錄入工作更簡便,許多選項包括新聞分類、來源部門等只需要點擊鼠標就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時清楚自己的操作情況。對常見網(wǎng)站的新聞管理的各個方面:新聞錄入、瀏覽、刪除、修改、搜索等方面都大體實現(xiàn),實現(xiàn)了網(wǎng)站對即時新聞的管理要求;即時可見:對新聞的處理(包括錄入、修改、刪除)將立即在主頁的對應(yīng)欄目顯示出來,達到“即時發(fā)布、即時見效”的功能;系統(tǒng)運行應(yīng)該快速、穩(wěn)定、高效和可靠;在結(jié)構(gòu)上應(yīng)具有很好的可擴展性,便于將來的功能擴展和維護。2.3 相關(guān)技術(shù)
18、與開發(fā)工具介紹2.3.1 Visual Studio 2008的介紹Microsoft Visual Studio2008 使開發(fā)人員能夠快速創(chuàng)建高質(zhì)量、用戶體驗豐富而又緊密聯(lián)系的應(yīng)用程序,充分展示了 Microsoft 開發(fā)智能客戶端應(yīng)用程序的構(gòu)想。借助 Visual Studio 2008,采集和分析信息將變得更為簡單便捷,業(yè)務(wù)決策也會因此變得更為有效。任何規(guī)模的組織都可以使用 Visual Studio 2008 快速創(chuàng)建能夠利用 Windows Vista 和 2007 Office system 的更安全、更易于管理并且更可靠的應(yīng)用程序。Visual Studio 2008 在三個方
19、面為開發(fā)人員提供了關(guān)鍵改進:快速的應(yīng)用程序開發(fā)高效的團隊協(xié)作突破性的用戶體驗Visual Studio 2008 提供了高級開發(fā)工具、調(diào)試功能、數(shù)據(jù)庫功能和創(chuàng)新功能,幫助在各種平臺上快速創(chuàng)建當前最先進的應(yīng)用程序。Visual Studio 2008 包括各種增強功能,例如可視化設(shè)計器(使用 .NET Framework 3.5 加速開發(fā))、對 Web 開發(fā)工具的大量改進,以及能夠加速開發(fā)和處理所有類型數(shù)據(jù)的語言增強功能。Visual Studio 2008 為開發(fā)人員提供了所有相關(guān)的工具和框架支持,幫助創(chuàng)建引人注目的、令人印象深刻并支持 AJAX 的 Web 應(yīng)用程序。開發(fā)人員能夠利用這些豐富
20、的客戶端和服務(wù)器端框架輕松構(gòu)建以客戶為中心的 Web 應(yīng)用程序,這些應(yīng)用程序可以集成任何后端數(shù)據(jù)提供程序、在任何當前瀏覽器內(nèi)運行并完全訪問 ASP.NET 應(yīng)用程序服務(wù)和 Microsoft 平臺。為了幫助開發(fā)人員迅速創(chuàng)建先進的軟件,Visual Studio 2008 提供了改進的語言和數(shù)據(jù)功能,例如語言集成的查詢 (LINQ),各個編程人員可以利用這些功能更輕松地構(gòu)建解決方案以分析和處理信息。Visual Studio 2008 還使開發(fā)人員能夠從同一開發(fā)環(huán)境內(nèi)創(chuàng)建面向多個 .NET Framework 版本的應(yīng)用程序。開發(fā)人員能夠構(gòu)建面向 .NET Framework 2.0、3.0 或
21、 3.5 的應(yīng)用程序,意味他們可以在同一環(huán)境中支持各種各樣的項目。2.3.2 SQL查詢語言及應(yīng)用SQL語言是結(jié)構(gòu)化語言(Structure Query Language)的縮寫,是一種用于數(shù)據(jù)庫查詢和編程的語言,已經(jīng)成為關(guān)系型數(shù)據(jù)庫普遍使用的標準,使用這種標準數(shù)據(jù)庫查詢。Visual Studio 2008和其他的應(yīng)用程序包括 Orcale、SQLServer2005等都支持SQL語言。Visual Studio 2008中的數(shù)據(jù)庫操作對象都提供了對SQL語句的支持。其一般的用法是以Visual Studio 2008的各種控件接收用戶對數(shù)據(jù)庫訪問的請求,在事件響應(yīng)程序代碼中將其轉(zhuǎn)換成對數(shù)據(jù)
22、庫的SQL查詢語句,并以字符串的形式存在,然后將其傳遞給相應(yīng)的數(shù)據(jù)庫操作對象,最終完成對數(shù)據(jù)庫的訪問。系統(tǒng)結(jié)構(gòu)流程3.1 新聞系統(tǒng)的模型結(jié)構(gòu)該系統(tǒng)的模型結(jié)構(gòu)如圖3-1所示:客戶端客戶端瀏覽器客戶端瀏覽器客戶端瀏覽器Web層業(yè)務(wù)層數(shù)據(jù)訪問層系統(tǒng)配置數(shù)據(jù)庫圖3-1-1新聞系統(tǒng)的模型結(jié)構(gòu)圖示該系統(tǒng)結(jié)構(gòu)分為三個邏輯層:Web 層:Web層為客戶端瀏覽器提供對應(yīng)用程序的訪問,這一層是作為解決方案文件中的 Web 項目實現(xiàn)的。Web 層由 ASP.NET Web 窗體和代碼隱藏文件組成,Web 窗體只是用 HTML 提供用戶操作,而代碼隱藏文件實現(xiàn)各種控件的事件處理程序; 業(yè)務(wù)層:包含各種業(yè)務(wù)規(guī)則和邏輯的
23、實現(xiàn),業(yè)務(wù)規(guī)則完成如客戶帳戶的驗證和字符串處理這樣的任務(wù);數(shù)據(jù)訪問層:數(shù)據(jù)訪問層為業(yè)務(wù)層提供數(shù)據(jù)服務(wù),這一層是作為解決方案文件中的 Conn類(數(shù)據(jù)訪問類,實現(xiàn)公共操作的一個通用類)實現(xiàn)的;3.2 新聞系統(tǒng)的功能模塊簡介圖3-2-1列出系統(tǒng)的功能模塊圖:瀏覽網(wǎng)站瀏覽網(wǎng)站普通瀏覽者瀏覽閱讀新聞搜索新聞注冊用戶登錄后經(jīng)權(quán)限判斷新聞輸入員添加新聞系統(tǒng)管理員新聞審核員添加新聞審核新聞管理新聞添加新聞分類管理新聞分類添加用戶管理用戶系統(tǒng)設(shè)置風格設(shè)置友情鏈接設(shè)置圖3-2-1 系統(tǒng)功能模塊圖示工作流程為:打開該系統(tǒng)網(wǎng)站,普通瀏覽者能瀏覽、閱讀和搜索新聞,能進行注冊,注冊后為新聞輸入員,登錄進入新聞后臺管理區(qū)
24、, 只有添加新聞的權(quán)限;如登錄時為新聞審核員,其不但有添加新聞的權(quán)限,還有審核和管理新聞的權(quán)限;如為系統(tǒng)管理員,其有新聞后臺管理區(qū)內(nèi)的所有權(quán)限,除具有新聞審核員所有的權(quán)限外,還有添加和管理新聞分類、添加和管理用戶、系統(tǒng)、風格和友情鏈接設(shè)置。在添加新聞時,除常規(guī)的添加新聞標題、新聞內(nèi)容、新聞作者和新聞簡介外,還可選擇是否為首頁新聞、是否為推薦新聞和是否在首頁滾動圖片(上傳圖片)等,對新聞內(nèi)容的字體、字號和字體顏色可以調(diào)整,類似Word的一些簡單的編輯功能,還可設(shè)置超鏈接和插入表格等。如添加新聞?wù)邽樾侣勢斎雴T,其所添加的新聞需要系統(tǒng)管理員或?qū)徍藛T經(jīng)審核后才能發(fā)布到網(wǎng)上;如是管理員或者審核員添加新聞
25、的話,不需要再經(jīng)誰審核,直接可以發(fā)布到網(wǎng)上。管理新聞功能包括對任一條新聞內(nèi)容可作相應(yīng)修改,也可刪除任何一條不再需要保留的新聞。管理新聞分類包括對新聞分類名稱作修改,也可將任一分類名刪除,刪除后其分類下的所有新聞也將被刪除。添加用戶時,用戶等級可為管理員、審核員或者輸入員之一,管理用戶包括修改用戶名、密碼和用戶等級,也可將任一用戶刪除。 系統(tǒng)設(shè)置包括設(shè)置網(wǎng)站標題、網(wǎng)站地址、首頁圖片、網(wǎng)站公告(可用來顯示當前有哪些新聞輸入員所添加的新聞沒有通過審核,具體的原因理由等)、網(wǎng)站鏈接(此文本內(nèi)容可更改)和底部信息(可放置一些與站點相關(guān)的文本內(nèi)容等),對系統(tǒng)設(shè)置里的內(nèi)容,隨時可做相應(yīng)的修改,這權(quán)限只有系統(tǒng)
26、管理員才擁有。風格設(shè)置指從系統(tǒng)八種風格里任選一種作為當前網(wǎng)站的默認風格。友情鏈接主要是以圖片的形式鏈接到其它網(wǎng)站,作用跟系統(tǒng)設(shè)置里的網(wǎng)站鏈接功能一樣。使用技術(shù)的介紹4.1 .NET Framework概述.NET Framework 是用于 .NET 平臺的編程模型,其關(guān)鍵組件是公共語言運行庫(CLR,Common Language Runtime)和 .NET Framework 類庫(包括 ADO.NET、ASP.NET 和 Windows 窗體),它提供了托管執(zhí)行環(huán)境、簡化的開發(fā)和部署以及與各種編程語言的集成,是支持生成和運行下一代應(yīng)用程序和 XML Web services 的內(nèi)部 W
27、indows 組件。.NET Framework 旨在實現(xiàn)下列目標: 提供一個一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本地存儲和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布,或者是在遠程執(zhí)行的; 提供一個將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境; 提供一個可提高代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)執(zhí)行安全性的代碼執(zhí)行環(huán)境; 提供一個可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境; 使開發(fā)人員的經(jīng)驗在面對類型大不相同的應(yīng)用程序(如基于 Windows 的應(yīng)用程序和基于 Web 的應(yīng)用程序)時保持一致; 按照工業(yè)標準生成所有通信,以確保基于 .NET Framewo
28、rk 的代碼可與任何其他代碼集成。公共語言運行庫是 .NET Framework 的基礎(chǔ),可以將運行庫看作一個在執(zhí)行時管理代碼的代理,它提供內(nèi)存管理、線程管理和遠程處理等核心服務(wù),并且還強制實施嚴格的類型安全以及可提高安全性和可靠性的其他形式的代碼準確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代碼稱為托管代碼,而不以運行庫為目標的代碼稱為非托管代碼。.NET Framework 類庫是一個綜合性的面向?qū)ο蟮目芍赜妙愋图希梢允褂盟_發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面 (GUI) 應(yīng)用程序,也包括基于 ASP.NET 所提供的最新創(chuàng)建的應(yīng)用程序(如
29、Web 窗體和 XML Web Services)。4.2 ASP.NET、ADO.NET和C#語言簡介ASP.NET結(jié)構(gòu)是一個三層系統(tǒng):UI層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,結(jié)構(gòu)模型如圖4-2-1所示:圖4-2-1 ASP.NET的結(jié)構(gòu)模型 UI層負責與用戶交互,接收用戶的輸入并將服務(wù)器端傳來的數(shù)據(jù)呈現(xiàn)給客戶; 業(yè)務(wù)邏輯層負責接收瀏覽器傳來的請求并將請求傳給數(shù)據(jù)層,同時將請求處理結(jié)果發(fā)給瀏覽器。它由Web表單、XMLWeb Services和組件服務(wù)組成,其中Web表單是ASP.NET應(yīng)用程序的核心所在,它是向客戶呈現(xiàn)數(shù)據(jù)和信息的基礎(chǔ),也是響應(yīng)和處理客戶與顯示的Web表單交互生成的信息和數(shù)據(jù)的基礎(chǔ);
30、數(shù)據(jù)層是通過ADO.NET操縱數(shù)據(jù)為事務(wù)邏輯層提供數(shù)據(jù)服務(wù),如存儲數(shù)據(jù)操作結(jié)果、返回數(shù)據(jù)檢索結(jié)果等。ADO.NET提供對Microsoft SQL Server、OLEDB和XML公開的數(shù)據(jù)源的一致性訪問,數(shù)據(jù)共享用戶應(yīng)用程序可以使用ADO.NET來連接到這些數(shù)據(jù)源,并檢索、操作和更新數(shù)據(jù)。ADO.NET 有兩個核心組件:DataSet 和 .NET Framework 數(shù)據(jù)提供程序,后者是一組包括 Connection、Command、DataReader 和 DataAdapter 4個對象在內(nèi)的組件,其組件結(jié)構(gòu)如圖4-2-2所示:圖4-2-2 ADO.NET的組件結(jié)構(gòu)圖示DataSet對
31、象是 ADO.NET 的斷開式結(jié)構(gòu)的核心組件,實現(xiàn)獨立于任何數(shù)據(jù)源的數(shù)據(jù)訪問。Connection 對象提供與數(shù)據(jù)源的連接,是操作數(shù)據(jù)庫的基礎(chǔ),表示應(yīng)用程序和數(shù)據(jù)源之間的惟一會話。Command 對象能夠訪問用于返回數(shù)據(jù)、修改數(shù)據(jù)、運行存儲過程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫命令,實現(xiàn)對數(shù)據(jù)源的操作,如查詢、插入、修改和刪除等。DataReader 對象從數(shù)據(jù)源中讀取只進且只讀的數(shù)據(jù)流。DataAdapter 對象是DataSet 對象和數(shù)據(jù)源之間關(guān)聯(lián)的橋梁,用數(shù)據(jù)源填充DataSet并解析更新。設(shè)計 ADO.NET 組件的目的是為了從“數(shù)據(jù)操作”中分解出“數(shù)據(jù)訪問”。C#語言是.NET中一種嶄
32、新的語言,C#是由C和C+派生而來的一種“簡單、流行、面向?qū)ο?、類型安全”的程序設(shè)計語言,C#意在綜合Visual Basic的高效率和C+的強大功能。 第五章 新聞系統(tǒng)的主要開發(fā)過程5.1 數(shù)據(jù)庫設(shè)計該系統(tǒng)使用SQL Server 2005作為應(yīng)用程序的數(shù)據(jù)庫,建立了有6張數(shù)據(jù)表:Lb_Admin表用于存儲帳戶的信息,Lb_Class表用于存儲新聞分類信息,Lb_Links表用于存儲友情鏈接信息, Lb_News表用于存儲新聞內(nèi)容, Lb_Setup表用于存儲系統(tǒng)設(shè)置信息,Lb_Skins表用于存儲頁面風格。Lb_News表與Lb_Class表相關(guān)聯(lián)。在6個數(shù)據(jù)表中,主要介紹一下新聞表和賬戶
33、表如下:Lb_News表如表5-1-1所示:表5-1-1新聞表n_id為該表主鍵,n_cid為所屬新聞分類ID,n_hit為點擊數(shù),n_commend用于判斷是否為推薦新聞,n_index用于判斷是否為首頁新聞,n_title為新聞標題,n_date為發(fā)布新聞的日期,n_author為新聞發(fā)布者名,n_content為新聞內(nèi)容,n_ispic用于判斷是否為首頁滾動圖片,n_spic為首頁所滾動圖片的存儲地址,,n_check用于判斷是否為審核新聞(值為0表示未通過審核,值1表示通過審核),n_intro為新聞簡介,n_publisher為賬戶類型,如為管理員、審核員或新聞輸入員。Lb_Admi
34、n表如表5-2所示:表5-1-2賬戶表A_Id為該表主鍵,A_Name為用戶名,A_Password為密碼,A_Grade為用戶級別。新聞輸入員頁面:新聞輸入員只具有添加新聞的權(quán)限,任何瀏覽者都可注冊成為新聞輸入員,但所添加的新聞并不能直接發(fā)布到網(wǎng)站上顯示,而需經(jīng)過審核員或管理員審核是否給予通過,這保證了網(wǎng)站內(nèi)容管理的合理性,并不是隨便添加的新聞都能發(fā)布;如圖5-2-3如圖5-2-3新聞審核員頁面:審核員管理頁面主要是對新聞進行審核,可對需審核的新聞內(nèi)容進行查看和編輯,以確定是否授權(quán)發(fā)布,審核員除審核新聞外,也可添加新聞和管理新聞,所添加的新聞不需審核而可以直接發(fā)布,管理新聞包括修改和刪除新聞
35、;如圖:5-2-4如圖:5-2-4新聞管理員頁面:管理員具有系統(tǒng)的所有權(quán)限,除審核員的審核新聞、添加新聞和管理新聞外,還可添加新聞部門和用戶。對用戶和新聞部門進行管理,包括修改用戶ID和密碼,刪除用戶,更改部門名稱,刪除新聞部門,管理員所添加的新聞也不再需要審核而可以直接發(fā)布。如圖:5-2-5如圖:5-2-55.3 頁面的風格設(shè)計為使該系統(tǒng)的頁面美觀多樣,在設(shè)計時使用了8種樣式風格。為了在頁面設(shè)計時方便調(diào)用,將其存儲于數(shù)據(jù)庫的Lb_Skins(風格樣式)表中,各窗體通過調(diào)用style.css文件來設(shè)計界面外觀。CSS是Cascading Style Sheets(層疊樣式表單)的簡稱,簡稱樣式
36、表,它是一種設(shè)計網(wǎng)頁樣式的技術(shù)。CSS代碼的基本語句結(jié)構(gòu)為:選擇符屬性名:屬性值,選擇符可以是HTML中任何的標簽或自定義標識符,比如P、DIV、IMG甚至BODY都可以作為選擇符。CSS在HTML文檔中有三種用法:一種是把CSS文檔放到文檔中: ;另一種方法是采用的格式把樣式寫在任何html標簽中的行內(nèi),這種方法比較方便靈活;還有一種方法是:把編輯好的CSS文檔保存成“.CSS”文件,然后在中定義,定義的格式為: ,和“rel=stylesheet”指連接的元素是一個樣式表文檔,“href=style.css”指的是需要連接的文件地址。這種方法非常適宜同時定義多個文檔,能使多個文檔同時使用相
37、同的樣式,從而減少了大量的冗余代碼。5.4 系統(tǒng)配置5.4.1 Web.config文件配置ASP.NET應(yīng)用程序的配置功能放在Web.config文件中,它包含每一個具體Web應(yīng)用程序的配置信息。在程序運行時,ASP.NET使用分層虛擬目錄結(jié)構(gòu)的Web.config文件提供的配置信息為每個惟一的URL資源計算一組配置設(shè)置,然后緩存結(jié)果配置設(shè)置,以供所有頁面對資源的請求使用。Web.config文件對于訪問站點的用戶來說是不可見的,而且也是不可訪問的,它基于XML,每個配置文件都包含XML標記和子標記的嵌套層次結(jié)構(gòu)。新聞系統(tǒng)的Web.config文件中的配置: 通過鍵/值對key 和value
38、配置數(shù)據(jù)庫連接的相關(guān)信息,將ACCESS數(shù)據(jù)庫lbnews.mdb文件用相對路徑的方式設(shè)置為字符串MdbPath在程序代碼中進行連接引用。5.4.2 配置發(fā)布主頁首先要創(chuàng)建虛擬目錄,新建虛擬目錄的步驟如下: 打開IIS(Internet 信息服務(wù)),在默認網(wǎng)站上右擊,在快捷菜單中選擇新建虛擬目錄; 在彈出的虛擬目錄創(chuàng)建向?qū)υ捒蚶稂c擊“下一步”; 輸入虛擬目錄別名; 選擇網(wǎng)站內(nèi)容所在目錄路徑; 設(shè)置“訪問”權(quán)限。 在所建虛擬目錄上右擊,在彈出菜單中選擇瀏覽,或在瀏覽器里輸入相應(yīng)網(wǎng)址,都可運行瀏覽程序。虛擬目錄不在目錄列表中顯示(也稱為 WWW 服務(wù)的“目錄瀏覽”),要訪問虛擬目錄,用戶必須知道
39、虛擬目錄的別名并在瀏覽器中鍵入 URL。對于 WWW 服務(wù),也可以在 HTML 頁面中創(chuàng)建鏈接。發(fā)布網(wǎng)站的時候,把程序首頁的名字(index.aspx或default.aspx)寫在IIS當中就可以訪問了。5.5 系統(tǒng)部分重要功能及其代碼5.5.1 Web用戶控件該系統(tǒng)中創(chuàng)建了兩個Web用戶控件top.ascx和bottom.ascx,在首頁、新聞詳細內(nèi)容查看、新聞分類等頁面的HTML代碼里都進行了引用,調(diào)用方式為: Register指令注冊用戶控件,同時把屬性TagName(標簽名)和TagPrefix(標簽前綴)添加到 Register指令中,Src屬性表示該用戶控件相對于父頁面的相對地址
40、。用戶控件也是服務(wù)器端控件,還必須在用戶控件代碼中添加Runat=server屬性,用法如下:其中top.ascx用戶控件作用是顯示首頁圖片、“首頁”文本字體、新聞分類、新聞風格和當前日期,bottom.ascx用戶控件作用是顯示底部相關(guān)網(wǎng)站信息等。用戶控件是非常易于代碼重用的,可以把許多相關(guān)功能和用戶界面封裝在一個用戶控件中,然后在任何需要該功能的地方重用此控件。5.5.2 通用類代碼在所有相關(guān)頁面顯示文件和Web用戶控件的代碼隱藏文件.aspx.cs或.ascx.cs中,通過對數(shù)據(jù)訪問類的引用(以創(chuàng)建類實例方式),調(diào)用數(shù)據(jù)訪問類里的相應(yīng)函數(shù)完成相關(guān)功能,如建立數(shù)據(jù)庫連接、打開和關(guān)閉數(shù)據(jù)庫、
41、對數(shù)據(jù)庫執(zhí)行查詢、插入、刪除和更新操作、頁面登陸檢驗等。此處列舉ConnString類(數(shù)據(jù)訪問類)中主要函數(shù)的源碼:public static string ConnString get return ConfigSetting.configConnectionStrings(SMS_FX); / / 返回第一行的語句 / / 查詢語句 / 邊參 / 返回查詢記錄 public static object GetExecuteScalar(CommandType commtype,string sql, params SqlParameter param) object o = null;
42、using (SqlConnection conn = new SqlConnection(ConnString) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd,conn,null,commtype,sql,param); o = cmd.ExecuteScalar(); return o; private static void PrepareCommand(SqlCommand command, SqlConnection conn, SqlTransaction trans, CommandType cmdType, stri
43、ng cmdText, SqlParameter param) if (conn.State != ConnectionState.Open) conn.Open(); command.Connection = conn; command.CommandText = cmdText; if (trans != null) command.Transaction = trans; command.CommandType = cmdType; if (param != null) command.Parameters.AddRange(param); /新聞添加!-#include file=ne
44、ws_session.asp-htmlhead meta http-equiv=Content-Language content=zh-cnmeta http-equiv=Content-Type content=text/html; charset=gb2312style type=text/css.buttonface BACKGROUND-COLOR: #0079F2; BORDER-BOTTOM: #333333 1px outset; BORDER-LEFT: #333333 1px outset; BORDER-RIGHT: #ffffff 1px outset; BORDER-T
45、OP: #ffffff 1px outset; COLOR: #ffffff; FONT-SIZE: 9pta color: #000000; text-decoration: none/styleSCRIPT ID=clientEventHandlersJS LANGUAGE=javascript !- function client_onblur(ii) server=eval(form1.server+ii) if(server.value=) client=eval(form1.client+ii) clientvalue=client.value+ varlen=clientvalu
46、e.length a=clientvalue.lastIndexOf() clientvalue=clientvalue.substring(a+1)/alert(clientvalue); server.value=clientvalue function form1_onsubmit() for(i=1;i1;i+) client=eval(form1.client+i) server=eval(form1.server+i) if(client.value!= & server.value=)alert(上傳后的文件名不能空!);server.focus();return false /
47、- /SCRIPTtitle新聞發(fā)布系統(tǒng)/title/headbody bgcolor=#EDF0F5 topmargin=10 marginheight=5 leftmargin=4 marginwidth=0form method=POST action=news_input.asp name=form1 enctype=multipart/form-data LANGUAGE=javascript onsubmit=return form1_onsubmit()div align=lefttable border=1 width=754 height=404tr align=center
48、 td width=754 height=28 colspan=3 style=font-size:11ptstrong新聞發(fā)布系統(tǒng)后臺管理-新聞添加/strong/td/trtrtd width=121 height=16 align=center style=font-size:9pt新聞標題/tdtd width=617 height=16 colspan=2 input type=text name=news_title size=87/td/trtrtd width=121 height=165 align=center style=font-size:9pt新聞內(nèi)容/tdtd wi
49、dth=617 height=165 colspan=2textarea rows=11 name=news_content cols=85/textarea/td/trtrtd width=121 height=21 align=center style=font-size:9pt新聞來源/tdtd width=617 height=21 colspan=2input type=text name=news_src size=87/td/trtrtd width=121 height=20 align=center style=font-size:9pt 圖片上傳/tdtd width=61
50、7 height=20 colspan=2input type=file name=client1 size=20 readonly LANGUAGE=javascript onblur=return client_onblur(1) span style=font-size:9pt/span INPUT type=hidden name=server1 input type=hidden value=mysession name=mysession /td /tr /table /div p input type=submit value=遞交 name=B1 class=buttonfac
51、e input type=reset value=全部重寫 name=B2 class=buttonface input type=button value=帳號修改 onclick=location.href=admin/news_chadmin.asp name=B2 style=font-size:10pt;color:#000000; class=buttonface input type=button value=新聞修改 onclick=location.href=news_admin1.asp name=B2 style=font-size:10pt;color:#000000;
52、 class=buttonface/p /form /body /html #news_input.asp!-#include file=upload.inc-% Fields(xxx).Name 取得Form中xxx(Form Object)的名字 Fields(xxx).FilePath 如果是file Object 取得文件的完整路徑 Fields(xxx).FileName 如果是file Object 取得文件名 Fields(xxx).ContentType 如果是file Object 取得文件的類型 Fields(xxx).Length 取得Form中xxx(Form Obje
53、ct)的數(shù)據(jù)長度 Fields(xxx).Value 取得Form中xxx(Form Object)的數(shù)據(jù)內(nèi)容 Dim FormData,FormSize,gnote,bnote,notes,binlen,binstr FormSize=Request.TotalBytes FormData=Request.BinaryRead(FormSize) Set Fields = GetUpload(FormData) #判斷輸入錯誤dim news_title,news_content,news_src,mysessionmysession=Fields(mysession).valueif le
54、n(mysession)=0 thenResponse.Write 非法登陸或超時請重新登陸Response.End end ifnews_title=Fields(news_title).valuenews_title=replace(news_title,|,|)news_content=Fields(news_content).valuenews_src=Fields(news_src).valuenews_src=replace(news_src,|,|)if len(news_title)=0 then%scriptalert(出錯!新聞標題不能為空);history.go(-1);
55、/window.location=news_add.asp;/script%Response.endend ifif len(news_content)=0 then%scriptalert(出錯!新聞內(nèi)容不能為空);history.go(-1);/script%end if if len(news_src)=0 then%scriptalert(出錯!新聞來源不能為空);history.go(-1);/script%Response.endend ifdim varcharvarchar=right(Fields(server1).value,3)if len(varchar)0 theni
56、f varchargif and varcharjpg then%scriptalert(出錯!不能上傳該圖片類型);history.go(-1);/script% Response.endelseend ifend if5.5.3 添加發(fā)布新聞添加發(fā)布新聞在該系統(tǒng)中顯然起著很關(guān)鍵的作用,在添加新聞管理頁面里,通過單擊“添加”按鈕執(zhí)行新聞的添加,但能不能直接發(fā)布,還要根據(jù)權(quán)限來判斷,“添加”按鈕的單擊事件主要程序如下:Conn ds1=new Conn(); /調(diào)用數(shù)據(jù)訪問類open(); /打開數(shù)據(jù)庫 string title=Lb_Title.Value.ToString(); /新聞標題
57、string Content=LbNewsContent.Value.ToString().Replace(,);/新聞內(nèi)容string Author=Lb_Author.Value.ToString(); /新聞作者string TitlePic=Lb_TitlePic.Value.ToString(); /是否首頁滾動圖片string Intro=LbNews_Intro.Text.ToString().Replace(rn,).Replace(,); /新聞簡介 string Lb_Grade;/用戶級別int lb_check; /判斷新聞是否需要審核,1:不需要審核,0:需要審核tr
58、y /捕獲異常范圍if (Lb_Grade=1) /用戶級別1為新聞輸入員lb_check=0; /需要審核else /審核員或管理員lb_check=1; /不需要審核int result=ds1.ExecuteSql(insert into Lb_News(n_cid,n_commend,n_index,n_ispic,n_title,n_spic,n_author,n_content,n_publisher,n_intro,n_check)values(+Lb_Classid+,+Lb_IsCommend+,+Lb_IsIndex+,+Lb_IsPic+,+title+,+TitlePi
59、c+,+Author+,+Content+,+Publisher+,+Intro+,+lb_check+);/將所添加的新聞標題、內(nèi)容、作者和來源部門等插入到數(shù)據(jù)表Lb_News中if (result0) /數(shù)據(jù)添加到數(shù)據(jù)庫中成功if (Lb_Grade=1)ds1.alert(添加成功,需等待管理員審核,admin_articleadd.aspx); /輸入員添加新聞的話彈出對話框提示需審核,并重置當前添加頁面elseds1.alert(添加成功,admin_articleadd.aspx); /審核員或管理員添加的話就直接發(fā)布到網(wǎng)站上,并重置當前添加頁面else /添加不成功Response.Write (添加新聞失敗);catch(Exception ex)Response.Write (ex.ToString(); /以上操作中如有異常發(fā)生則捕捉finallyclose();/關(guān)閉數(shù)據(jù)庫連接5.5.4 用戶注冊該系統(tǒng)的內(nèi)容是需要靠校園眾多部門眾多用戶來豐富充實的,而用戶注冊
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年建筑施工安全風險評估與整改合同3篇
- 2024年度城市公園監(jiān)控系統(tǒng)安裝工程合同3篇
- 2024版建筑外墻保溫施工工程質(zhì)量與安全責任合同2篇
- 2024版電子信息產(chǎn)業(yè)核心器件采購合同規(guī)范范本3篇
- 2024版簡明電商法規(guī)第三章電子商務(wù)糾紛調(diào)解員培訓合同2篇
- 2024年建筑玻璃纖維租賃與建筑加固合同3篇
- 2024版環(huán)保設(shè)施建設(shè)承包合同3篇
- 2024版建筑施工內(nèi)部承包合同履行擔保協(xié)議3篇
- 2025屆山西省臨汾一中高考適應(yīng)性考試英語試卷含解析
- 2025屆湖北省孝感市文昌中學高考沖刺模擬數(shù)學試題含解析
- 實變函數(shù)智慧樹知到期末考試答案章節(jié)答案2024年南昌大學
- 《金屬基增容導(dǎo)線技術(shù)條件+第2部分:鋁包殷鋼芯耐熱鋁合金絞線》
- DB32 4418-2022《 居住建筑標準化外窗系統(tǒng)應(yīng)用技術(shù)規(guī)程》
- (正式版)SHT 3075-2024 石油化工鋼制壓力容器材料選用規(guī)范
- 燃燒脂肪-流行健身舞蹈智慧樹知到期末考試答案2024年
- 粵23G-T011 預(yù)應(yīng)力混凝土空心方樁
- 2024年廣西交通投資集團有限公司招聘筆試參考題庫附帶答案詳解
- 村委會地震演練方案及流程
- 2024年四川省成考(專升本)生理學護理學專業(yè)考試真題含解析
- 網(wǎng)絡(luò)安全攻防演練
- 采購部經(jīng)理年度工作總結(jié)
評論
0/150
提交評論