摘 要:本文對(duì)關(guān)于ASP.NET平臺(tái)的行業(yè)門戶網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行討論,從結(jié)構(gòu)上看該模塊組成部分為后臺(tái)管理、用戶登錄注冊(cè)以及發(fā)布新聞,對(duì)一般行業(yè)門戶網(wǎng)站所應(yīng)該具備的基本功能實(shí)現(xiàn),而且在這一過(guò)程當(dāng)中,對(duì)于網(wǎng)站的安全性充分考慮。將研究開發(fā)背景與相應(yīng)理論知識(shí)作為切入點(diǎn),對(duì)網(wǎng)站的需求分析進(jìn)行確定,并且做出相應(yīng)的概要設(shè)計(jì)。
關(guān)鍵詞:設(shè)計(jì);實(shí)現(xiàn);ASP.NET平臺(tái);動(dòng)態(tài);行業(yè)門戶網(wǎng)站
中圖分類號(hào):TP393.18
作為微軟公司所提出的.net框架一部分的ASP.NET又可以將其稱之為ASP+。其框架則是語(yǔ)言運(yùn)行庫(kù)、基礎(chǔ)類庫(kù)與公共語(yǔ)言運(yùn)行庫(kù)所組成,本文將研究重點(diǎn)放在關(guān)于ASP.NET的動(dòng)態(tài)行業(yè)門戶網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行討論,這一行業(yè)當(dāng)中的門戶網(wǎng)站頁(yè)面所包含的內(nèi)容為后臺(tái)管理、新聞管理與登錄注冊(cè)等,而后臺(tái)管理、用戶登錄注冊(cè)于發(fā)布新聞這三個(gè)模塊屬于核心功能,在對(duì)這些模塊的設(shè)計(jì)過(guò)程當(dāng)中,其中則是將ASP.NET作為研究重點(diǎn)。
1 網(wǎng)站需求分析
一方面是功能需求。在這個(gè)需求當(dāng)中,所包含的內(nèi)容是對(duì)站點(diǎn)的總體概括了解;具備的信息交流平臺(tái)在用戶與管理人員、用戶之間;能夠?qū)嵤┯亚殒溄樱挥脩艨梢詾g覽豐富信息;能夠讓用戶對(duì)站點(diǎn)文章信息能夠快速搜索。另一方面則是數(shù)據(jù)需求。由于在行業(yè)用戶網(wǎng)站當(dāng)中,系統(tǒng)最重要的部門就是數(shù)據(jù)庫(kù)內(nèi)容,內(nèi)容當(dāng)中的數(shù)據(jù)模型則對(duì)于系統(tǒng)所需要存儲(chǔ)的數(shù)據(jù)與數(shù)據(jù)之間關(guān)系進(jìn)行說(shuō)明。
2 網(wǎng)站概要設(shè)計(jì)
2.1 結(jié)構(gòu)設(shè)計(jì)
按照之前所預(yù)設(shè)的開發(fā)網(wǎng)站的目的以及所能夠獲得的需求情況,從而能夠?qū)⒄麄€(gè)網(wǎng)站的內(nèi)容劃分為;后臺(tái)管理模塊;新聞發(fā)布模塊;設(shè)計(jì)網(wǎng)站布局以及用戶登錄注冊(cè)模塊。
3 網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
一是發(fā)布新聞模塊。在整個(gè)網(wǎng)站當(dāng)中的重要組成部分則是發(fā)布新聞,在該網(wǎng)站當(dāng)中則把整個(gè)新聞劃分成為多個(gè)類別,由于各個(gè)板塊的不同從而能夠做到對(duì)于相應(yīng)新聞內(nèi)容的顯示。這就必須率先對(duì)于新聞?lì)悇e表進(jìn)行設(shè)計(jì),隨后對(duì)于表進(jìn)行設(shè)計(jì),以便能夠?qū)τ谒蓄悇e的新聞信息進(jìn)行存放。
二是用戶登錄注冊(cè)模塊。用戶所扮演的角色不同,那么其所具備的權(quán)限也不同,通過(guò)對(duì)表User的設(shè)計(jì)以便對(duì)于包含著管理員在內(nèi)的網(wǎng)站所有用戶信息進(jìn)行保存。在用戶登錄注冊(cè)這一模塊當(dāng)中,這必須對(duì)于比較多的頁(yè)面進(jìn)行涉及,而這里由于篇幅有限,則只是介紹實(shí)現(xiàn)核心頁(yè)面。在整個(gè)用戶表User當(dāng)中,則是將其主鍵設(shè)置為用戶名,這就使得在用戶注冊(cè)的過(guò)程當(dāng)中對(duì)于重復(fù)用戶名的情況不可避免的出現(xiàn)。針對(duì)這一現(xiàn)象為做到最大限度的避免,用戶在所建立的網(wǎng)站當(dāng)中對(duì)用戶名輸入之后就能夠做到及時(shí)的實(shí)施檢驗(yàn),主要是看在整個(gè)數(shù)據(jù)庫(kù)當(dāng)中該用戶名所使用的用戶是否存在,不管是存在或者是不存在都會(huì)給予用戶一個(gè)提示。
三是后臺(tái)管理模塊。在這一模塊當(dāng)中,能夠提供一個(gè)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的平臺(tái)給管理員,為對(duì)于系統(tǒng)安全進(jìn)行保證,絕大多數(shù)的頁(yè)面則是在Page_Load過(guò)程當(dāng)中對(duì)于是否是管理員用戶做出判斷。絕大多數(shù)的后臺(tái)管理的頁(yè)面當(dāng)中,在對(duì)記錄進(jìn)行刪除、查詢、更新以及插入等則是通過(guò)對(duì)DataGrid控件。由于在對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新的過(guò)程當(dāng)中,其中的主要難點(diǎn)問題就是針對(duì)SQL語(yǔ)句的寫法,而在系統(tǒng)開發(fā)的過(guò)程為做到對(duì)于管理員在對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新的過(guò)程當(dāng)中,則借助于對(duì)刪除超鏈接進(jìn)行點(diǎn)擊之后,則會(huì)有著一個(gè)確認(rèn)刪除的對(duì)話框彈出來(lái)。對(duì)于這一功能的實(shí)現(xiàn),則是通過(guò)JavaScript事件來(lái)實(shí)現(xiàn)。其中的部分代碼則如下所顯示:
IbtnDel.Attributes.Add(“onclick”.”javascript:returnconfirm(“您真的要?jiǎng)h除”e.Item.DataItem(“ForumName”)”嗎):”)
為理解程序提供方便,則可以通過(guò)將含有參數(shù)的SQL語(yǔ)句來(lái)進(jìn)行使用,隨后賦值于這些參數(shù)。以下則列出一個(gè)簡(jiǎn)單的一進(jìn)那個(gè)參數(shù)化的SQL語(yǔ)句,在這其中已經(jīng)對(duì)一個(gè)參數(shù)@Title包含在其中:
“Select*FromNewsWheretitle=@Title”
而存在著可能要賦值參數(shù)的過(guò)程當(dāng)中,那么在對(duì)參數(shù)對(duì)象建立則能夠?qū)ommand對(duì)象使用,隨后在對(duì)其賦值。其中比較常用的方法就是在文件夾當(dāng)中上傳文件,可是其中有著更為方便快捷的方法就是將文件上傳到數(shù)據(jù)庫(kù)當(dāng)中。這一功能在對(duì)添加新聞的圖片信息的過(guò)程當(dāng)中進(jìn)行使用,這就率先必須在數(shù)據(jù)庫(kù)當(dāng)中通過(guò)對(duì)應(yīng)字段的類型為“OLE對(duì)象”的設(shè)置,通常來(lái)說(shuō),在這一類型的字段當(dāng)中,能夠做到對(duì)二進(jìn)制數(shù)據(jù)存放,而這就使得上傳的文件在該字段當(dāng)中保存則使用的形式則是二進(jìn)制數(shù)據(jù)。
如果出現(xiàn)用戶對(duì)于上傳的表單提交的時(shí)候,那么系統(tǒng)對(duì)于文件的類型與名稱的相關(guān)信息自動(dòng)獲取。二進(jìn)制數(shù)據(jù)絕對(duì)不能如同普通字段那樣直接插入數(shù)據(jù)庫(kù)當(dāng)中,這就必須將數(shù)據(jù)存放到一個(gè)字節(jié)數(shù)組當(dāng)中才能夠進(jìn)行。通過(guò)對(duì)Stream對(duì)象的使用以便把上傳文件讀取到Stream當(dāng)中,隨后再在其中讀取到字節(jié)數(shù)組。
4 研究與展望
本文則是系統(tǒng)性論述開發(fā)行業(yè)門戶網(wǎng)站過(guò)程當(dāng)中所使用的ASP.NET技術(shù),通過(guò)實(shí)踐表明,設(shè)計(jì)的網(wǎng)站能夠?qū)τ谟脩舻幕拘枨筮_(dá)到,可是依然存在著一些有待改進(jìn)的地方,這主要體現(xiàn)在以下幾方面內(nèi)容:
一方面如果客戶端對(duì)一個(gè)應(yīng)用程序訪問的過(guò)程當(dāng)中,ASP.NET自動(dòng)有著一個(gè)長(zhǎng)整數(shù)產(chǎn)生,而且在客戶端進(jìn)行存放。如果客戶端對(duì)Cookies不支持,ASP.NET為對(duì)長(zhǎng)整數(shù)的正常運(yùn)行確保,那么則會(huì)對(duì)于另外一套更為復(fù)雜的程序自動(dòng)啟動(dòng)。從這可以看出,在對(duì)這一模塊的設(shè)計(jì)當(dāng)中,必須對(duì)這一問題考慮,不管客戶端對(duì)Cookies支持與否,都要對(duì)網(wǎng)站的安全性與頁(yè)面的正常運(yùn)行進(jìn)行保證。
另一方面在網(wǎng)站當(dāng)中的所有新聞信息都是在數(shù)據(jù)庫(kù)當(dāng)中存儲(chǔ),而等到時(shí)間長(zhǎng)之后則會(huì)有著相當(dāng)龐大的數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)讀取有著相當(dāng)慢的速度。如新聞信息直接從因特網(wǎng)當(dāng)中獲得,在網(wǎng)站顯示則依據(jù)用戶自定義的樣式進(jìn)行顯示,這對(duì)于管理員管理網(wǎng)站信息提供方便,還能夠借助于網(wǎng)站對(duì)最新新聞信息的及時(shí)獲取。
參考文獻(xiàn):
[1]高峰.基于ASP.NET網(wǎng)上書店的設(shè)計(jì)與實(shí)現(xiàn)[J].重慶文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2011(02).
[2]高鷺,周李涌.大學(xué)計(jì)算機(jī)基礎(chǔ)課程網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[J].內(nèi)蒙古科技與經(jīng)濟(jì),2008(24).
[3]王妍.博客系統(tǒng)的概要設(shè)計(jì)[J].硅谷,2011(16).
[4]陳敏.基于“ASP.NET”的大學(xué)生網(wǎng)上論壇的設(shè)計(jì)與開發(fā)[J].重慶工學(xué)院學(xué)報(bào)(自然科學(xué)版),2008(09).
[5]劉天印,周松林,張帆.基于ASP.NET的實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)及Web編程技術(shù)[J].黃石高等??茖W(xué)校學(xué)報(bào),2004(04).
作者簡(jiǎn)介:李榮錦(1984.9-),女,貴州畢節(jié)人,助教。
作者單位:畢節(jié)職業(yè)技術(shù)學(xué)院,貴州畢節(jié) 551700