網頁制作課程網站畢業設計論文_第1頁
網頁制作課程網站畢業設計論文_第2頁
網頁制作課程網站畢業設計論文_第3頁
網頁制作課程網站畢業設計論文_第4頁
網頁制作課程網站畢業設計論文_第5頁
已閱讀5頁,還剩57頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

畢業設計(論文)說明書題目:網頁制作精品課程網站作者:學號:系(院):專業班級:指導者:(姓名)(專業技術職務)評閱者:(姓名)(專業技術職務)

畢業設計(論文)中文摘要網頁制作精品課程網站摘要:數據結構在計算機科學中是一門非常重要的綜合性的專業基礎課,其內容豐富,涉及面廣泛。隨著計算機技術的發展,教學條件的改善,教學思想的成熟,該課程從課程體系、教學內容、使用教材與描述算法的語言、教學方法與手段等方面均發生了很大變化與發展,隨著網絡的高速發展,及教育體制改革的深入,通過網絡自主學習與搜集信息,已經成為每個人所必須做的事情。特別是計算機數據結構方面的知識,因其自身知識更新快的特點,通過網站進行數據結構精品課程建設與學習無疑是最佳的選擇。本課題主要運用了數據庫(SQLServer2000)與ASP整合的動態網站開發技術,實現了數據結構這一精品課程的在線學習,在線答疑與學生在線測試的功能。方便學生在進行學習數據結構這門課程的同時,通過在線答疑,交流討論等進行學習心得的交流。隨著互聯網技術的飛速發展,利用網絡進行輔助教學已經成為時代發展的必然趨勢。建立精品課程資源網站,盡可能提高優質教學資源的利用率,對實現人才培養,促進社會經濟發展都能起到十分重要的作用。一個優秀的精品課程網站不僅能夠幫助教師進行教學,也可以引導學生主動學習,提高學習效率,更為教學雙方提供了一個進行協作學習和交流的平臺。本文運用MicrosoftVisualStudio.NET中的ASP.NET技術和SQLServer2005數據庫管理系統,開發了一個能動態維護課程資源、界面美觀大方、操作友好的精品課程資源網站。本網站的主要功能有:用戶注冊登陸,課程資源瀏覽,課程信息查詢,信息交流以及對系統進行動態管理。本設計說明書主要介紹了課題的開發背景、研究意義、國內外研究現狀等內容,并按照軟件工程的思想對系統進行了分析說明。關鍵詞:精品課程ASP.NETSQLServer2005

畢業設計(論文)外文摘要DevelopmentofaWebsiteforBestCourseResourcesAbstract:Withtherapiddevelopmentofinternettechnology,assistantteachingbynetworkshasbecomeaninevitabletrendinthedevelopmentoftheera.Establishingabestcourseresourceswebsiteandmaximizingtheutilizationoffinecourseresourcescanplayanimportantroleinbringupthepersonwithability,anditalsocanboosttheevolutionofsocio-economic.Anoutstandingpieceoffinecourseswebsitecanassistteachersteaching,andhelpstudentsstudyinitiativelyandenhancetheeffectivenessoflearning.Andmore,itprovidesaplatformforbothoftheteachersandstudentstoexchangeideasanddocollaborativelearning.ThispaperdevelopedawebsiteforbestcourseresourcesusingASP.NETtechnologyinMicrosoftVisualStudio.NETandSQLServer2000databasemanagementsystem.Thiswebsiteisabletomaintaindynamiccourseresourcesandsuppliesafriendlyinterface.Themainfunctionsofthiswebsiteareuserregisteringandentering,browsingandenquiringcourseresources,exchanginginformationandmanagingthesystem.Themaintopicsofthisarticlearethebackgroundofdevelopment,significanceofresearchandanalysesofthesystemwiththethinkingofsoftwareengineering.Keywords:BestCourse;ResourceWebsite;ASP.NETSQLServer2000.

目錄TOC\o"1-2"\h\z\t"標題3,3,畢業設計(論文)結論、致謝、參考文獻標題,1"1引言 頁1引言當代信息技術日新月異的變化,給人們的學習和生活帶來了巨大的影響,傳統的教育模式已經不再是人類獲取知識的唯一途徑。利用網絡進行輔助教學拓寬了教學渠道,為高校課程與教學提供了一個重大的發展機遇。建立精品課程資源網站是網絡教學的一個支點,它不僅能夠幫助教師教學,也可以引導學生主動學習,提高學習效率,更為教學雙方提供了一個進行協作學習和交流的平臺。1.1課題的研究背景及意義1.1.1課題的研究背景國際互聯網的出現為教育創造出一個全新的天地,使得大學同中小學之間的聯系變得更為緊密,學校與單位之間的聯系變得更加密切,它更是大大縮短了世界各國大學之間的距離,使得大學之間的合作與交流變得更加方便、更加快速。為了順應時代的發展,2003年4月,教育部下發了《教育部關于啟動高等學校教學質量與教學改革工程精品課程建設工作的通知》,精品課程建設工作正式啟動,全國范圍內的各個高等學校對此紛紛積極響應,以十分飽滿的精神投入到精品課程的建設大潮中。精品課程建設要以傳統教育中的精華為墊石,以現代教育的思想為武器,能夠積極開拓,積極創新,能夠符合科學性、先進性和教育教學的普遍規律,并能取到一個典范作用。為此,很多高校都建立了自己的精品課程網站,精品課程網絡化不但可以幫助學習者查詢資料、搜索信息、并且能夠為學習者提供一個協作學習和交流的橋梁。利用網絡為平臺的教學方式恰當地運用了現代教學技術、方法與手段,它改變了傳統教育的模式,成為學生主動學習、協作式探索、解決實際問題的認知工具。經過將近三年的努力建設,精品課程建設取得了顯著的成果,但是它畢竟是我國提出的教育教學改革的新舉措,還剛剛起步,或多或少會有不盡人意之處。例如:1.各高校之間師資、教學水平的不均衡造成了資源數量和質量存在著巨大的差別,而地區之間經濟發展水平的不平橫又導致了有些資源又不能共享,使得一些優秀精品課件的利用率極低。2.精品課程是一個發展的概念,不可能是一次完成的,而是個不斷吸收新成果、適應新需要的動態發展過程。但是,很多學校建設精品課程網站都是靜態的,沒有考慮到它的可持續發展,保證網站的時時更新以及對網站的維護變得極為麻煩。所以,建立一個具有實效性,共享性,交互性的優秀動態精品課程資源網站顯得尤為重要。1.1.2課題的研究意義精品課程的建設體現了一種信息時代的新課程特征,其意義在于利用現代技術手段發展教學,促進教學的改進。精品課程的建設為我們的教學提供了大量的知識來源和不同的學習途徑,它可以幫助學生和教師學習代表國內,甚至是國際最高水平的名師名課,從真正意義上實現優秀教學資源的共享。它不再拘泥于傳統的教育模式,可以按照不同的學習者的不同需要提供不同資源,為學習者帶來最佳學習環境,以此激發學生內在的學習動力。在一所學校里,有計劃、有目標地建設成一批具有先鋒表率作用的精品課程,可以大范圍地推進全校的課程建設,大力建設輻射性強、影響力大的精品課程,可以營造一種重視教學質量、重視課程建設、以人才培養為己任的良好氛圍,從而可以創造良好的生源,為學校的發展提供優越的前提條件。那么,如何才能利用先進的技術手段建立一個能夠方便、快捷、大量、大幅度收集優秀精品課件的共享資源庫呢?精品課程資源網站的建設就是一個十分有效的舉措。特別在這個越來越走向信息化,數字化、全球化、個性化的信息時代,優秀的精品課程可以通過網絡這個媒體與國外進行接軌,實現更大范圍的資源共享。因此,精品課程資源網站的開發具有十分重要的實踐意義。1.1.3課題國內外研究現狀隨著社會的發展,二十一世紀已經轉化成一個信息化的年代。顯然,在這個向數字化,網絡化,終身化和以普及提高人的素質和基本能力為中心的學習社會過渡的世紀,各國原有的傳統的教育體系、模式已經不能滿足人類發展的需要,開放靈活的教育方式已經變成了教育的新動向。為了跟上時代演變的步伐,世界上各國政府和國際社會都非常重視發展和推進網絡教育,各國的教育內容和管理方法都已開始進行重大的調整。(1)國際發展現狀1996年8月美國加利福尼亞、德克薩斯等十個州共同創建了各州認可的、各高等院校承認課程學分的虛擬大學,學生在電子課堂中上課、考試并獲得學位證書,從而正式拉開了網絡遠程教育的序幕。目前美國有80所大學通過網絡修得學位,網上虛擬大學開出的課程已覆蓋了各個主要的學科領域。例如,美國國家技術大學(NTU),1998年夏季學年開設了化學工程、橋梁工程、工商管理等16門課程。威士康辛大學1998年元月建成了它的第一個電子教室,并為商業、文學、教育、圖書館學和社會科學5個門類開設了17門課程。以亞特蘭大和喬治亞洲為主的美國南部地區教育董事會,開始通過Internet來轉播南部50所大學的課程。同時,美國已經開始把注意力放到中小學校基礎設施的建設上來。美國總統克林頓于1996年提出了“教育技術行動”(EducationTechnologyInitiative)。行動綱領指出:到2000年,全美國的每間教室和每個圖書館都將聯上信息高速公路,讓每個孩子都能在21世紀的技術文化中受到教育。另外,加拿大、英國等其它西方國家也在大力開展網絡遠程教育工作;例如,加拿大滑鐵盧大學遠程教育和繼續教育學院使學生可以方便地進入虛擬課堂完成該大學文學、理學和環境方面所需的全部課程,該大學提供250多門課程供選擇,并提供非全日制的技術管理碩士課程,可邊工作邊學習,西蒙福萊士大學開設了地理學、歷史學和心理學等28門課程;英國的開放大學開設了數學、農業、結構工程等十一門課程。(2)國內發展現狀與西方發達國家相比,國內的網絡技術應用工作開展得相對較晚,1995年底我國首條覆蓋全國的計算機互聯網絡CERNET(中國教育和科研計算機網)才正式建成和投入使用。受技術條件的限制,國內在CERNET建成后才開始進行網絡遠程教學的研究工作,但發展相當迅猛。目前從網上可查到的信息和各院校開放的對外服務看,國內清華大學、北京大學、上海交通大學、同濟大學、華南理工大學、北京醫科大學、中山醫科大學、中國人民大學、湖南大學、華南師范大學、中國科技大學、長春郵電學院、遼寧大學、浙江大學、北京廣播電視大學、廣東廣播電視大學、浙江廣播電視大學、西安交通大學等十幾所高校已陸續提供了自己的網上遠程教育資源,此外還有一些中學,如北京101中學、深圳中學、南京師大附中、江蘇省常中等中學也開設了網校,其它如一些省市地區機構也紛紛在網上設立了遠程教育站點,如COL網校、云舟網校、新疆遠程教育資源網、吉林教育教學網、萬恒遠程教育網等。1.2系統的可行性分析可行性研究的目的是要決定“做還是不做”,換句話說,就是要用最小的代價在盡可能短的時間內確定問題是否能夠解決。其根本任務是對以后的行動方針提出建議。如果問題沒有可行的解,就應該停止這項開發工程,以避免時間,資源,人力和金錢的浪費;如果問題值得去解,就應該推薦一個較好的解決方案,并且為工程制定一個初步的計劃。可行性分析可以分為:技術可行性,經濟可行性,操作可行性等等。1.2.1技術可行性本系統主要使用MicrosoftVisualStudio.NET中的ASP.NET為開發工具,SQLSever2005為網站開發的數據庫服務程序。ASP.NET采用基于文本的分層配置系統,簡化了應用于服務器環境和Web應用程序的設置,使執行常見任務變得容易。SQLServer2005可以很方便地通過Web瀏覽器直接從數據庫中訪問數據并且它在數據庫性能、可靠性、易用性方面都有很大的優勢。本系統采用的是B/S結構模式,采用這種模式,只需在客戶端安裝通用的瀏覽器。在服務器方面,應用程序可為Internet/Intranet上的任何授權用戶所使用,所以B/S的開發成本較低;B/S的客戶端把事物邏輯部分分給服務器,大大減輕了客戶端的負載,并且保證了應用程序的通用性和跨平臺性,還不存在移植問題,并增加了安全性。1.2.2經濟可行性本系統主要是把本校的精品課程做成一個動態網站,實現資源共享,為學生提供了一個除課堂學習以外的另一種學習方式,同時通過精品課程的示范作用帶動整體課程水平的提高。雖然,此網站的可用性極高,但其開發所需的經濟投入卻不大,只需計算機一臺,一些必需的軟件和一些參考文獻。這些條件對我們來說都已具備。所以開發此系統具有經濟可行性。1.2.3操作可行性本系統是一個基于Web的精品課程資源網站。操作此系統十分方便,用戶只要懂得計算機的基本操作知識,就可以方便的使用此系統。而且此系統是動態的,所以可以十分方便地在瀏覽器中直接對網站資源進行瀏覽,修改,刪除,查閱等操作,為管理員節省大量的時間和精力。由于此系統是基于Web的,所以并不需要在客戶端另外配置應用軟件,就可以任意瀏覽此系統。由此可見,開發此系統完全可行。1.2.4法律可行性此系統完全由個人開發,并不涉及到侵權問題,從而不可能引起法律上的糾紛。而且,精品課程網站的開發是對教育部開展精品課程建設活動的一個積極相應,不可能危害國家以及社會利益。所以,開發此系統具有法律可行性1.3各章內容簡介第1章引言,這部分主要講述的是課題的研究背景和意義,系統的可行性分析以及各章的內容簡介。第2章需求分析,這部分只要包括系統的綜合需求,業務需求和數據需求。第3章主要內容是:系統總體設計,包括系統總體功能結構;系統數據模型設計,系統環境。第4章主要內容是:詳細設計部分,主要描述每個模塊的功能,對一些界面的設計,還有部分代碼。第5章主要內容是:用戶使用手冊,包括系統的運行環境,系統的使用方法,系統的頁面及其功能。第6章主要內容是:系統評價,包括系統主要功能,特色與優點的介紹,以及系統存在的不足與改進方案,還有本畢業設計的心得體會。

2需求分析開發軟件系統最困難的部分就是準確說明開發什么,這就是需求分析。需求分析是介于系統分析和軟件設計之間的橋梁。一方面,需求分析以系統規格說明和項目規劃作為分析活動的基本出發點,并從軟件角度對它們進行檢查與調整;另一方面,需求規格說明又是軟件設計、實現、測試直至維護的主要基礎。良好的分析活動有助于避免或盡早剔除早期錯誤,從而提高軟件生產率,降低開發成本,改進軟件質量。錯誤的分析最終會給系統帶來極大損害的部分,并且以后再對它進行修改就變得極為困難。所以,需求分析在整個軟件的開發過程中,占據著至關重要的作用。2.1系統的綜合需求2.1.1用戶需求隨著計算機和信息技術的發展,知識更新日益加快,舊的知識傳播途徑已經滿足不了這種需求,這就迫切需要一種全新的知識傳播方式。而信息化時代的到來與計算機網絡技術的不斷成熟和進步為人們提供了一種新型的學習方式,它使人類構筑以主動性學習,個性化教育為特征的終生教育體系成為可能,實現任何人、任何時間、任何地點、任何知識點開始、選擇任何課程。精品課程資源網站的開發就是時代的產物,它使用了最新的教學手段,最大限度地利用現有的優質教學資源,力圖采用現代科技,使課程達到最佳的效果。它改變了當前普遍存在的傳統的灌輸式的教學方式,體現學生是學習的主體,引導學生“在學習中研究、在研究中學習”,激發學生的學習興趣、自主學習的要求,充分發掘學生積極探索與研究的潛力。所以,開發優秀的精品課程資源網站順應了時代的變遷,滿足了用戶的需求。2.1.2功能需求本系統主要需要實現用戶注冊登陸,課程資源瀏覽,課程信息查詢,信息交流以及系統管理等功能。用戶注冊登陸:主要實現用戶的注冊,登陸及取回密碼的功能。登陸時必須進行身份與密碼驗證,這樣可以確保系統的安全性。課程資源瀏覽:主要實現用戶對本網站資源的瀏覽。課程資源查詢:由于網站有很多資源,對于新用戶,可能不太熟悉資源所處位置,所以提供了查詢功能。這樣可以為用戶大大的節省精力、時間和金錢。用戶可以通過課程內容的關鍵字,教師姓名,課程名,課程推薦指數等條件進行終合查詢。為了更具有使用性,此系統應該提供模糊查詢的功能。信息交流:一個實用的網站,必須提供一個交流的平臺,方便用戶對問題進行探討。系統管理:主要實現對網站的動態維護,可以對用戶,課程,帖子,公告進行管理。包括查看、添加、刪除、修改等功能。2.1.3其它需求所開發的精品課程資源網站能夠正常運行,資源豐富、實用,界面設計美觀、大方,系統管理功能完善,操作方便,能實現網站所有資源的動態維護。2.2業務需求業務需求反映了組織機構或客戶對系統、產品高層次的目標需求。精品課程資源網站的業務流程如下:教師、學生用戶進行注冊,將信息保存到數據庫中。系統管理員根據不同的用戶身份發放權限,使用戶對數據庫進行不同的操作:學生、教師、普通管理員、超級管理員,這四級用戶中每級用戶都可以對個人的基本信息,個人的密碼加以修改,還可以發貼,瀏覽帖子。教師、管理員還具有上傳課件的功能。超級管理員除擁有一般管理員所擁有的功能(例如:管理用戶信息、課程信息、帖子、友情鏈接等等)外,還可以對一般管理員進行查看/添加/刪除)。本系統的業務流程圖如下:圖2-1系統業務流程圖2.3數據需求任何一個軟件系統本質上都是信息處理系統,系統必須處理的信息和系統應該產生的信息在很大程度上決定了系統的面貌,對軟件設計有深遠影響,因此,必須分析系統的數據需求,這是軟件需求分析的一個重要任務。2.3.1數據流分析本系統是一個動態的資源網站,主要給用戶提供課程資源以及對各種信息進行維護。因此,在邏輯上可以將系統分為前臺瀏覽部分和后臺管理部分。本系統的用戶有教師,學生,普通管理員,超級管理員四種。教師、學生用戶先要進行注冊,而普通管理員需要有超級管理員添加。所有的用戶都可以對本網站的資源進行瀏覽和查詢。而不同級別的用戶被賦予不同的權限對本系統的數據庫進行操作,包括查看、添加、刪除、修改等功能。根據此流程,畫出以下的數據流圖:圖2-2(a)精品課程網站頂層級數據流圖圖2-2(b)精品課程網站一級數據流圖

圖2-2(c)精品課程網站二級數據流圖之一(注冊登陸圖)圖2-2(d)精品課程網站二級數據流圖之二(查詢瀏覽圖)圖2-2(e)精品課程網站二級數據流圖之三(上傳課程圖)圖2-2(f)精品課程網站二級數據流圖之四(信息交流圖)圖2-2(g)精品課程網站二級數據流圖之五(信息維護圖)2.3.2數據字典數據字典是對系統中數據的詳盡描述,它提供對數據庫數據描述的集中管理。它的處理功能是存儲和檢索元數據,并且為數據庫管理員提供有關的報告。

3.系統設計3.1系統總體功能結構通過對此精品課程資源網站的需求分析并結合實際情況分析,可以把本系統劃分成用戶注冊登陸模塊,課程資源瀏覽模塊,課程信息查詢模塊,信息交流模塊以及系統管理等模塊。本系統的功能結構圖如圖3-1所示:圖3-1精品課程資源功能結構圖模塊的基本功能各如下:3.1.1用戶注冊登陸模塊的基本功能用戶注冊用戶注冊將實現教師注冊及學生注冊的功能。系統管理員由后臺直接添加,不給予注冊。用戶登陸用戶可以根據自己的身份進入自己的管理模塊,當然必須有密碼驗證。這樣就提供了一個安全機制,為用戶信息提供了一層保障。取回密碼對于一些粗心的用戶,可能會忘了自己的密碼,所以可以根據注冊時所設的密碼問題和密碼答案,如果兩者符合,就可以取回密碼。此功能從實際意義上為用戶解決了一個問題。3.1.2課程資源瀏覽模塊的基本功能課程資源瀏覽本系統的課程分為三級:國家級,省級,校級,除此之外,每一個級別下的課程都會按同一性質歸類,這樣可以大大提高尋找的效率,為用戶節省時間。為了突出重點,本網站還設置了一些推薦精品課程供用戶瀏覽,這寫精品課程主要是由用戶投票所得。另外,本網站還可以方便的瀏覽最新課程。優秀資源網站瀏覽本系統提供一些優秀的精品課程網站鏈接供用戶瀏覽,擴大用戶的知識來源。3.1.3信息查詢模塊的基本功能此模塊可以提供檢索功能,用戶可以通過課程內容的關鍵字,教師姓名,課程名或者課程的推薦指數來查詢,支持模糊查詢。同時,為了幫助用戶節省時間,還可以通過課程級別與課程所屬學科兩者聯合查詢。查詢這一功能為用戶提供了方便。3.1.4信息交流模塊的基本功能此模塊為各級用戶提供了一個交流的平臺。不管是哪級用戶,如果有什么問題,都可以借助論壇這一工具獲得大家的幫助。3.1.5系統管理模塊的基本功能課程資源管理此模塊的主要功能是對課程進行管理。管理員可以對所有課程進行查看/刪除/添加/設置級別。而對于教師來講,他只可以對屬于自己的課程進行查看/修改/上傳/添加。論壇管理這個模塊主要用于管理員對論壇的維護,管理員可以刪除一些過時或者無用的帖子,保證論壇的質量。短信管理這個模塊主要是用戶對自己的短信信箱進行管理。包括發信件,收信件,回復信件和寫草稿等功能。用戶信息管理此系統一共有四級用戶:超級管理員,一般管理員,教師,學生。每級用戶都可以對個人的基本信息加以修改,并提供修改密碼功能。其中,超級管理員除擁有一般管理員所擁有的功能(例如:管理用戶信息、課程信息、帖子、友情鏈接等等)外,還可以對一般管理員進行查看/添加/刪除。3.2系統數據模型設計3.2.1數據概念結構設計—E-R圖在數據庫設計中,常用E-R模型來描述現實世界到信息世界的問題。E-R模型易于用戶理解,是用戶和數據庫設計人員交流的語言。該模型直接從現實世界中抽象出實體和實體間的聯系,然后用非常直觀的E-R圖來表示數據模型。E-R圖(實體-關系圖)提供了表示實體、屬性和聯系的方法。實體型:用矩形表示,矩形框內寫明實體名屬性:用橢圓型表示,并用無向邊與其相應實體連接起來聯系:用菱形表示,菱形框內寫明聯系名,并用無向邊與其有關實體連接。在某些關系中,普通的E-R模型不能描述關系。這時就需要用到擴充的E-R模型。在擴充的E-R模型中包括弱實體、特殊化、概括、聚集等概念。弱實體在現實世界中有一種特殊的聯系,這種聯系代表實體間的所有關系。在現實世界中,有些實體對于另一些實體具有很強的依賴關系,即一個實體的存在必須以另一個實體為前提,我們將這類實體稱為弱實體。在擴展的E-R圖中弱實體用雙線矩形框表示。特殊化設有實體集E,如果S是E的某些真子集的集合,記為S={Si|Si∈E,i=1,2,…,n},則稱S是E的一個特殊化,E是S1,S2,……,Sn的超類,S1,S2,……,Sn稱為E的子類。如果S1∪S2∪...∪Sn=E,則稱S是E的全特殊化,否則是E的部分特殊化。如果Si∩Sj=,i!=j,則S是不相交特殊化,否則是重疊特殊化。在擴充的E-R圖中,超類-子類關系模型使用特殊化圓圈和連線的一般方式來表示。超類到圓圈有一條連線,連線為雙線,則表示全特殊化,連線為單線表示部分特殊化;雙豎邊矩形框表示子類;有符號“∪”的線表示特殊化,圓圈中的“d”表示不相交特殊化;圓圈中的“O”表示重疊特殊化;超類與圓圈用單線相連,則表示部分特殊化。在擴充的E-R模型中,子類繼承超類的所有的屬性和聯系,但是,子類還有自己特殊的屬性和聯系。在本系統中,學生,教師繼承了用戶的所有屬性,而且學生和教師構成了用戶這個實體,而無重疊,所以是全特殊化。但是教師擁有學生的部分功能,所以必須用重疊特殊化來描述。本系統采用擴充E-R圖的方法進行數據庫概念結構設計。系統E-R圖(屬性部分為標出)如下所示:圖3-2(a)用戶子系統E-R圖圖3-2(b)管理員子系統E-R圖圖3-2(c)論壇E-R圖圖3-2(d)課程E-R圖系統部分實體圖:用戶實體圖3-3(a)用戶實體圖課程實體圖3-3(b)課程實體圖3.2.2數據邏輯結構設計—關系模式本系統的每個表中包含多個字段,具體關系模式如下:管理員表(管理員自動編號,管理員昵稱,管理員密碼,管理員級別,密碼提示問題,密碼提示答案,郵箱);用戶信息表(用戶自動編號,用戶昵稱,用戶真實姓名,用戶密碼,密碼提示問題,密碼提示答案,用戶類型,用戶級別,創建時間,用戶郵箱,訪問次數,上傳課程數,發回帖數,用戶職稱);課程類別表(課程類別自動編號,課程類別);課程信息表(課程自動編號,課程名稱,課程推薦程度,課程狀態,課程被瀏覽次數,上傳時間,課程圖片,課程網址,課程制作者,課程關鍵字,課程級別);發帖表(發帖自動編號,發帖者,發帖標題,帖子內容,發表時間,點擊次數,回復次數);回帖表(回帖自動編號,發帖自動編號,回貼者,回帖內容,回帖時間);短信表(短信自動編號,短信發送人,短信接收人,短信標題,短信內容,是否發送,發送時間);推薦網站表(推薦網站自動編號,網站名稱,網站網址);3.2.3數據庫設計(1)管理員表(admin_info)表3-4(a)管理員表的邏輯結構字段名稱數據類型是否為主鍵說明adminidInt(4)yes編號adminnameVarchar(20)no管理員昵稱adminpwdVarchar(10)no管理員密碼adminlevelChar(1)no管理員級別Pwdqes1Varchar(20)no密碼提示問題Pwdans1Varchar(20)no密碼提示答案mailVarchar(30)no郵箱(2)用戶信息表(userinfo)表3-4(b)管理員表的邏輯結構字段名稱數據類型是否為主鍵說明uidInt(4)yes用戶編號usernickVarchar(20)no用戶昵稱usernameVarchar(10)no用戶真實姓名userpwdVarchar(10)no用戶密碼pwdqes2Varchar(20)no密碼提示問題Pwdans2Varchar(20)no密碼提示答案usertypeChar(4)no用戶類型(教師或學生)usersexChar(2)no用戶性別userlevelChar(2)no用戶級別createtimeDatetime(8)no創建時間emailVarchar(30)no用戶郵箱visitnumReal(4)no訪問次數course_up_numInt(4)no上傳課程數bbs_numInt(4)no發回帖數tpositionChar(10)no用戶職稱(3)課程類別表(total_cource)表3-4(c)課程類別表的邏輯結構字段名稱數據類型是否為主鍵說明course_tidInt(4)yes課程編號coursetypeVarchar(50)no課程類別(4)推薦網站表(website)表3-4(d)推薦網站表的邏輯結構字段名稱數據類型是否為主鍵說明siteidInt(4)yes網站編號sitetnameVarchar(50)no網站名稱urlVarchar(200)no網站網址(5)課程表(cource)表3-4(e)課程表的邏輯結構字段名稱數據類型是否為主鍵說明courseidInt(4)yes課程編號cnameVarchar(50)no課程名稱crankchar(10)no課程推薦程度cstatuechar(1)no課程狀態(是否審核)cdescntextno課程描述cvisnumInt(4)no課程被瀏覽次數cuptimeDatetime(8)no課程上傳時間cima_urlVarchar(200)no課程圖片ctex_urlVarchar(200)no課件網址cmaderVarchar(50)no課程制作者ckeywordsVarchar(50)no課程關鍵字clevelVarchar(50)no課程級別ctypeVarchar(50)no課程所屬學科cupmanVarchar(50)no課程上傳者(6)發帖表(bbsinfo)表3-4(f)發貼表的邏輯結構字段名稱數據類型是否為主鍵說明bbssendidInt(4)yes發帖編號Authornvarchar(50)no發帖者Subjectnvarchar(50)no發帖標題Contentntextno帖子內容PostTimeDatetime(8)no發表時間TotalViewInt(4)no點擊次數ReplyInt(4)no回復次數(7)回帖表(bbsanswer)表3-4(g)回帖表的邏輯結構字段名稱數據類型是否為主鍵說明bbsansweridInt(4)yes發帖編號bbssendidInt(4)no外鍵Author1nvarchar(50)no回帖者Content1ntextno回帖內容PostTime1Datetime(8)no回帖時間(8)短信表(message)表3-4(f)回帖表的邏輯結構字段名稱數據類型是否為主鍵說明messageidInt(4)yes自動編號senderVarchar(30)no短信發送者inceptVarchar(30)no短信接收者titleVarchar(30)no短信標題contentNtext(16)no短信內容flagChar(1)no是否發送sendtimeDatetime(8)no發送時間3.3系統開發環境本系統的開發工具:MicrosoftVisualStudio.Net(ASP.NET)――編寫和調試代碼MicrosoftSQLServer2005――設計后臺數據庫MacromediaDreamweaverMX――設計靜態頁面和站點管理Microsoftvisio――系統設計AdobePhotoshop7.0.1――處理圖片選用這些開發工具是因為它們都是當前非常流行的工具,而且在某種程度上具有一定的優越性。ASP.NET的優越性。ASP.NET與以前的網頁開發技術相比有了很大的進步,表現在以下幾個方面。更大的性能。ASP.NET是運行在服務器端的通用語言運行環境,和以前的解釋運行方式不同,ASP.NET會通過即時編譯來提高性能。更強大的開發工具支持。雖然和ASP一樣,只要服務器操作和服務器軟件支持,就可以運行腳本,而且開發ASP.NET的頁面或者應用程序也不需要專門的開發工具。由于ASP.NET和VisualStudio.NET等良好地集成在一起,因此可以通過專門的窗口和工具來進行高效的所見所得的應用開發;更優秀的適應性。ASP.NET是基于通用語言的運行環境的,所有一般語言所具有的類庫,消息和數據連接都能方便的連接到網絡上。ASP.NET同時也具有語言無關性,所以用戶可以選擇自己所需要的開發語言(如C#,VB,Jscript等)。更優越的可定制性和可擴展性。ASP.NET提供了可定制和重用的體系結構,用戶可以在一定的層次上修改ASP.NET提供的程序段,甚至可以重新編寫ASP.NET的控件,從而實現根據不同需要定制的目的;更優越的語言支持。ASP.NET即時地對C#,VB,Jscript三種語言提供了支持。ASP.NET作為一種全新的動態網站開發技術,他有自己的開發特點。大量使用組件技術;將Web瀏覽器和Web服務器之間的網絡通信完全的包裝起來。SQLServer2000的優越性。SQLServer2005作為一款優秀的數據庫管理系統,提供了對數據庫管理的強大支持。它繼承了SQLServer7.0的高性能,可靠性和可擴充性的特點,同時又引進了數據庫和服務器增強功能,以及其他一些新的特性,使它成為一個杰出的數據庫平臺。SQLServer具有以下特點:真正的客戶機/服務器體系機構。豐富的XML支持,可以通過URL(統一資源定位器)訪問SQLServer,支持XML-Data模式,可檢索、編寫XML數據。可支持Web的分析。SQLServer2000能夠分析和鏈接現存的在線分析處理(OLAP)管道,甚至在Web上也可以。用戶也能夠使用SQLServer2000支持在一臺單獨的計算機上管理多個獨立的SQLServer的安裝。對數據倉儲的支持。對電子商務的支持。圖形化用戶界面,使系統管理和數據庫管理更加直觀,簡單具有很好的伸縮性,安全性。可跨越從運行Windows95/98的電腦到運行Windows2000的大型多處理器等多種平臺使用。豐富的編程接口工具,為用戶進行程序設計提供了更大的選擇余地。由于SQLServer具有以上的強大的功能,再加上本系統需要存儲的容量適中,所以不需要使用Oracle這么強大的數據庫,而Access數據庫的容量又太小了,而且其安全性不是很高。所以,我選擇SQLServer作為后臺數據庫。是非常合理的。(3)Dreamweaver和Photoshop的優越性Dreamweaver是一款功能強大的所見即所得的網頁編輯器,它的可視化特征使用戶可以直接在頁面上添加和編輯元素,而不用寫一行代碼。例如通過鼠標拖曳來添加圖像,表格等元素,在文檔中直接輸入文本,還有直接插入一些常用的符號和對象等等。我們在沒有輸入代碼的情況下完成了這些工作,Dreamweaver自動將結果轉換為HTML源代碼,我們也可以隨時查看文檔的HTML源代碼,在代碼視圖中進行修改。Dreamweaver的另一項重要的功能就是進行站點管理。創建好站點后,Dreamweaver就可以對站點內的所有文件進行統一的管理,可以將各個文件之間的相互關系用相對路徑來表示清楚。而如果你沒有建立站點,你的文件之間的互相鏈接的表示方法是類似這樣的:file://design/yourfile.htm/Css/style.css。這樣當你將文件上傳到遠端服務器上時,瀏覽器并不會找到你本地機子中的file://design路徑.而Photoshop是一個強大的圖像圖形處理軟件,它是目前圖像處理、彩色出版、平面設計、Web頁面設計以及照片處理領域最流行、用戶最多、也是最好的圖像處理軟件。它可以支持多種圖像文件格式和色彩模式、可以同時進行多通道處理。它的繪畫功能與選擇功能使編輯圖像十分方便,而它的圖像變換功能可以用來制作許多想象的特殊視覺效果。另外,它還具有開發式的結構,能夠接受廣泛的圖像輸入輸出設備,給跨平臺操作提供了極大的方便。具體說,Photoshop具有如下功能:支持大量圖像文件格式,并且可以將某種格式的圖像文件轉換為其他格式的文件。處理圖像尺寸和分辨率:可以按要求任意調整圖像的尺寸,可以在不影響分辨率的情況下改變圖像尺寸,也可以在不影響圖像尺寸的同時提高或者降低分辨率。圖層功能:Photoshop具有多圖層工作方式。色調和色彩功能:用戶可以調整圖像的顏色和明暗度,有選擇性地調整色相、飽和度和明暗度。支持多種色彩模式:可以有彈性地轉換多種色彩模式,包括黑白、灰度、雙色度、索引色、RGB以及CMYK等模式。為了使得界面更加美觀,本系統還引用了CSS樣式單,用CSS樣式單可以實現以下功能:更加靈活地控制網頁中文字的字體、顏色、大小、間距、風格及位置。靈活地設置一個文本塊的行高、縮進,并可以為其加入三維效果的邊框。靈活地設置一個文本塊的行高、縮進,并可以為其加入三維效果的邊框。可以方便地為網頁中任何元素設置不同的背景顏色和背景圖片。可以精確地控制網頁中各元素的位置。可以為網頁中的元素設置各種慮鏡,從而產生諸如陰影、輝光、模糊、和透明等只有與腳本語言相結合,可以使網頁中的元素產生各種動態效果。由于是直接的HTML格式的代碼,所以網頁打開速度非常快。

4模塊詳細設計4.1用戶注冊登陸模塊4.1.1用戶注冊登陸功能簡介用戶注冊是用戶管理的第一個環節,通常需要用戶輸入相關的準確信息。用戶只需填寫一個Web表單,其中包含必填項和可選項。并附有必要的提示信息。用戶提交注冊信息后,系統會對注冊頁面填寫的正確性進行檢查。對不符合要求的填寫會給出必要提示,用戶可以根據提示修改,如果用戶認為有許多內容都需要重填,那么可以按下重置按鈕,清空所有已填信息。用戶注冊以后,就可以按照自己注冊的昵稱和密碼進行登陸了。當然管理員是無需注冊的,而是由超級管理員直接進行添加。這樣可以防止有些有不良企圖的用戶注冊成為管理員后,對系統進行惡意的操作,從而可以保證系統的安全性。如果登陸時,用戶的昵稱和密碼不匹配,那么系統將給予出錯提示,提醒用戶輸入正確的用戶名和密碼。如果用戶的輸入是正確的,那么根據登陸者的身份,就可以進入各自的管理界面了。4.1.2用戶注冊登陸流程圖圖4-1(a)用戶注冊登陸流程圖4.1.3用戶注冊與登陸界面設計(1)登陸界面圖4-1(b)用戶登陸界面登陸模塊拖入了兩個textbox,分別用來輸入用戶名和密碼,三個RadioButton按鈕,分別代表管理員,教師,學生。RadioButton是單選控件,它的選擇可能性不一定是兩種,只要是有限種可能性,并且只能從中選擇一種結果,原則上都可以用RadioButton實現。它與多個復選控件之間的不同之處在于,多個單選控件之間存在著聯系,他們要么處于同一個互斥選擇組中,要么不屬于同一個互斥選擇組,而處于互斥選擇組的的單選控件是不可以同時選擇的。所以單選控件多了一個GroupName屬性,它用來指明多個單選控件是否是同條件下的選擇項GroupName相同的多個單選控件之間只能有一個被選中。此模塊中還拖入了一個label標簽,如果用戶的名稱或密碼跟數據庫中的信息不匹配,那么系統就會給出錯誤提示,要求用戶從新輸入。在后臺代碼中,定義了session對象,用來傳遞身份,這樣就可以判斷到底是誰進入了自己的管理頁面,為對自己的信息管理提供了一個參考值。Session對象派生自HttpSessionState類,它與Application對象一樣,都是ASP.NET文件公用的對象,所不同的是,所有連接用戶共用一個Application對象,而每個連接的用戶都擁有一個自己的Session對象,這個Session對象用于在該用戶訪問的各頁面之間傳遞信息,即Session是同一連接所有網頁的共用對象。例如,某個時刻有20位連接者,則Session對象個數為20,每個連接者都有自己的Session對象,且互不相干。為了使登陸的時候,不被別人看到自己的密碼,對自己的密碼取到保密作用,則把輸入密碼的文本框的TextMode類型設為password,這樣密碼就會以圓點的形式顯示出來,而不再以輸入的數字形式顯示出來,這樣就增加了安全性。(2)注冊界面

圖4-1(c)用戶注冊界面注冊模塊拖入了Textbox控件,RadioButtonList控件,DropDownList控件,Button控件以及驗證控件RequiredFieldValidator,CompareValidator。RequiredFieldValidator用于檢驗表單控件是否填寫,它的使用非常頻繁,并且由于其他控件都不會顯示檢查空白字段,它通常與其他驗證控件一起使用。CompareValidator控件用于比較用戶輸入和另一個常值之間滿足什么樣的關系。它支持兩種比較:可以把用戶輸入和ValueToCompare屬性中的常值比較,也可以和ConrtrolToCompare制定的其他控件的值進行比較。驗證控件中,ConrtrolTovalidateg給出了要檢驗的控件ID,ErrorMessage是錯誤信息提示。驗證控件的使用可以大大地簡化代碼。RadioButtonList控件與RadioButton控件的作用是一樣的,但是卻簡單的多。RadioButtonList控件用于創建多各單選按鈕供用戶選擇,用戶只能選擇列表中的某一項,我們就可以通過SelecterIndex屬性來確定是哪一項被選中,而不需要像RadioButton控件一樣寫很多判斷語句。4.1.4用戶注冊與登陸部分代碼:由于登陸時有管理員,學生,教師三種身份,而這三種身份又分別能進入不同的頁面。所以必須要判斷到底是哪中身份要進行登陸。這里是用if..else..語句進行判斷的。并且這里把Textbox1中的值(也就是用戶名)作為session參數傳遞,這樣就可以判斷到底是誰進入管理界面了。登陸代碼如下:if(admin.Checked)//判斷是否選擇了管理員 {SqlCommandcmd=newSqlCommand("select*fromadmin_infowhereadminname='"+TextBox1.Text.Trim()+"'",connection);//從數據庫中查詢與文本框中輸入值一樣的記錄 connection.Open();//打開數據庫 SqlDataReaderReader=cmd.ExecuteReader();//查詢數據庫 if(Reader.Read())//判斷是否讀到數據 { Session["uid"]=TextBox1.Text.Trim();//傳遞身份 Response.Redirect("guanli.htm");//調用guanli.htm頁面 } else { Label7.Text="用戶名或密碼無效"; } Reader.Close(); connection.Close(); } else if(teacher.Checked) { ……//與管理員登陸的代碼類似 } else if(student.Checked) { ……//與管理員登陸的代碼類似 }注冊的時候,為了避免混淆,是不允許用戶使用已經注冊過的用戶名的,這個功能是通過查詢數據庫中是否存在用戶要注冊的用戶名。如果存在,系統就不會給予注冊。為了使得界面具有操作友好性,不管你是否注冊成功,系統都會給予提示。由于本系統要統計用戶上傳的課件數,登陸的次數,發帖回帖數,如果插入是空值的話,以后就不好累加,所以在注冊的時候必須為這些屬性賦一個為“0”的初始值。注冊的代碼如下:stringstrconn=ConfigurationSettings.AppSettings["dsn"];;connection=newSqlConnection(strConn);//連接數據庫stringsql; sql="Select*fromuser_infowhereuserid='"+userid.Text.Trim()+"'"; SqlCommandcmd=newSqlCommand(sql,connection);//查詢數據庫 connection.Open(); SqlDataReaderReader=cmd.ExecuteReader();//讀取數據庫查詢結果 if(Reader.Read()) { Label1.Text="此用戶名已經存在"; Reader.Close();//關閉Reader }else { Reader.Close(); sql="Insertintouser_info(userid,username,userpwd,pwdqes2,pwdans2,usersex,usertype,zhicheng,email,bbs_num,cource_up_num,visitnum)values('"+userid.Text.Trim()+"','"+username.Text.Trim()+"','"+userpwd.Text.Trim()+"','"+pwdqes2.Text.Trim()+"','"+pwdans2.Text.Trim()+"','"+sex.SelectedItem+"','"+type.SelectedItem+"','"+dept.SelectedItem+"','"+email.Text.Trim()+"',"+0+","+0+","+0+")";//插入數據庫 try//捕捉異常 { cmd=newSqlCommand(sql,connection); cmd.ExecuteNonQuery(); Label1.Text="恭喜你,注冊成功了!";} catch { Label1.Text="注冊失敗";} finally { cmd.Dispose(); connection.Close();//關閉連接 }為了增強系統移植性,我們使用Web.config連接數據庫。如果以后數據庫的名稱,或者密碼等改變的話,只要在Web.config中進行改變就行了,而不需要對每個數據庫連接都進行改寫。在Web.config中寫入以下代碼:<appSettings><addkey="dsn"value="DataSource=;UID=sa;PWD=;DATABASE=course"/></appSettings>而在要連接數據庫的頁面中寫下以下代碼就對數據庫進行了連接:usingSystem.Data.SqlClient;//調用類庫usingSystem.Configuration;stringstrconn=ConfigurationSettings.AppSettings["dsn"];如果不用Web.config,可以使用下面這句話:stringstrConn="Server=(local);Userid=sa;Database=course";用戶填寫信息時,可能想要對多個項進行改變,這樣一個一個改變的話就比較費事,這里提供了置空的按鈕,只要一按這個按鈕,就可以清空所有文本框中已填信息。而對于一些復選按鈕,就可以還原到原來的默認項。置空的代碼如下:userid.Text=""; //以上是對TextBox的置空 sex.ClearSelection();//RadioButtonList控件的置空 //選擇RadioButtonList的默認項sex.Items.FindByValue("male").Selected=true;type.ClearSelection(); type.Items.FindByValue("tea").Selected=true; 響應另一個頁面的代碼:Response.Redirect("頁面名稱");4.2資源瀏覽模塊4.2.1資源瀏覽功能簡介資源瀏覽模塊主要實現用戶對本網站內的各種信息進行瀏覽,這寫信息包括公告,精品課程,用戶排行,本網站的最新課程,本網站推薦的精品課程,以及一些對優秀的精品課程網站的鏈接。本系統的公告是動態生成的,如果管理員覺得要更換公告內容,那么他只要進入自己管理的界面,對其進行更改就行了。用戶排行反應了哪些用戶是本系統的熱心用戶,原則上排行是依據用戶發布的帖子和回復的帖子總數自動變化的,但是為了避免這種片面行,用戶的排行也可以由管理員設定。管理員可以依據用戶上傳的課程數等等一系列條件設定用戶的級別。最新課程顯示的是用戶最新上傳的課程,這樣可以給用戶提供新鮮感,知道這是一個時時更新的網站。本網站推薦的精品課程是由課程的投票次數確定的,如果用戶覺得此課程不錯,就可以按下其編號,為其投上一票。為了彌補本網站資源的不足,本網站還提供了一些對優秀的精品課程網站的鏈接,使得本網站更具有吸引力,更健壯。4.2.2資源瀏覽界面設計(1)課程資源模塊在這個模塊里,用Datalist和DataGrid兩種方法對數據進行了綁定。下面界面的是用DataGrid進行綁定的。DataGrid控件是ASP.NET框架中特性最豐富,最復雜的控件,它允許對數據庫表中的記錄進行格式化顯示,它是使用表格的方式顯示數據項,在DataGrid控件中自帶分頁功能。這里課程名稱用的是超級鏈接列,由于在數據庫中存入了需要鏈接的網址,所以只要把存入這個網址的字段賦給DataNavigateUrlField屬性,而把課程名稱的字段段賦給DataTextField屬性,就可以進行鏈接了。圖4-2(a)課程資源圖(一)下面的界面是通過Datalist進行數據綁定的。Datalist控件是以數據列表的形式顯示數據項。DataList控件其實功能也很強大,他支持選擇、編輯,實現的方法也很簡單,不過最令人頭疼的就是它不像DataGrid控件一樣內置了分頁的功能。不過,雖然DataList沒有提供內置的分頁功能,但是并不表示,我們不能使用DataList控件來實現分頁,既然它不具有分頁功能,那只好通過寫代碼實現(具體代碼在下面介紹)。圖4-2(a)課程資源圖(二)點擊上面的編號,就能對此課程進行投票,而同時可以彈出一個窗口,提示用戶已經為某門課程投過票:圖4-2(c)投票成功提示圖(2)公告,友情鏈接,用戶排行等模塊友情鏈接模塊和用戶排行模塊也都是用DataGrid進行綁定的。本站公告里的文字是可以向上翻滾的。為了給用戶一個時間概念,本系統還提供了一個時鐘功能。圖4-2(d)資源瀏覽圖4.2.3課程資源瀏覽模塊的部分代碼對DataGrid進行綁定的代碼如下:在這段代碼中的select語句中運用top5選取數據表中的前五項數據。Orderby是用來排序的,這里用了降序進行排序(desc).在這里運用了Dataset對象,并且運用fill()方法將屬性制定的SQL命令執行后所選取的數據行置入參數dataset指定的Dataset對象。其中,ds.Tables["total_cource"].Rows(i).Count(j)表示訪問"total_cource第i行第j列。SqlDataAdapterda=newSqlDataAdapter("selecttop5cname,ctex_urlfromcourceorderbycourceiddesc",strconn);//查詢數據庫,選取前五項數據 DataSetds=newDataSet();//創建DataSet try { da.Fill(ds,startIndex,DataGrid1.PageSize,"CurDataTable");//從指定的索引開始取PageSize條記錄DataGrid1.VirtualItemCount=ds.Tables["total_cource"].Rows.Count;//設置DataGrid控件實際要顯示的項數 DataGrid1.DataSource=ds.Tables["CurDataTable"]; DataGrid1.DataBind(); //將DataSet綁定到DataGrid控件 } catch(Exceptionerror) {Response.Write(error.ToString());}注意:如果要對DataGrid進行分頁,則要把AllowCustomPaging,AllowPaging這兩個屬性設為True.而且必須加載PageIndexChanged事件,這個事件的方法如下:privatevoidDataGrid1_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse) { //設置DataGrid當前頁的索引值為用戶選擇的頁的索引DataGrid1.CurrentPageIndex=e.NewPageIndex;//取得當前頁為止總共有多少條記錄,以便在下一頁就從該記錄開始讀startIndex=+DataGrid1.PageSize*DataGrid1.CurrentPageIndex; DataGridDataBind();//從新綁定數據 }對Datalist進行綁定并進行分頁的代碼如下:前臺的代碼為:<ahref='<%#DataBinder.Eval(Container.DataItem,"ctex_url")%>'>//綁定鏈接的地址<imgsrc='<%#DataBinder.Eval(Container.DataItem,"cima_url")%>'//綁定圖片Alt='<%#DataBinder.Eval(Container.DataItem,"cima_url")%>'>//綁定提示信息后臺代碼為:這里定義了CalculateRecord2()方法計算總共有多少條記錄,CreateSource1()方法設定從什么位置開始計算。List3Bind()方法用來綁定,并設置翻頁是否可用,Page_1OnClick用來判斷翻頁的方向。PageSize屬性設置每頁顯示的記錄數,PageCount1屬性是計算總共有多少頁。Int32.Parse()方法是用來轉換成整型的。 privatevoidPage_Load(objectsender,System.EventArgse) { //在此處放置用戶代碼以初始化頁面 PageSize1=2;//設置每頁顯示的記錄數 if(!Page.IsPostBack)//判斷是否刷新頁面 { CurrentPage1=0; List3Bind();//調用綁定的方法 ViewState["PageIndex1"]=0; RecordCount1=CalculateRecord2();//計算總共有多少記錄 PageCount1=(RecordCount1+1)/PageSize1;//計算總共有多少頁 ViewState["PageCount1"]=PageCount1; } publicintCalculateRecord2()//計算總共有多少條計錄 { intintCount; stringstrSQL="selectcount(*)ascofromcource"; SqlCommandMyComm=newSqlCommand(strSQL,connection);//查詢數據庫 SqlDataReaderdr=MyComm.ExecuteReader();//返回一個DataReader對象 if(dr.Read()) { intCount=Int32.Parse(dr["co"].ToString());//把計算的結果賦給intCount變量 } else { intCount=0; } dr.Close(); returnintCount;//返回結果 } ICollectionCreateSource1() { intStartIndex;//設定導入的起始位置 StartIndex=CurrentPage1*PageSize1; stringstrSel="Select*fromcource"; DataSetds=newDataSet(); SqlDataAdapterMyAdapter=newSqlDataAdapter(strSel,connection); MyAdapter.Fill(ds,StartIndex,PageSize1,"Stores"); returnds.Tables["Stores"].DefaultView; } publicvoidList3Bind()//綁定DataList,并設置鏈接按鈕的狀態 { DataList2.DataSource=CreateSource1(); DataList2.DataBind(); first.Enabled=true; next.Enabled=true; if(CurrentPage1==(PageCount1-1))//判斷是否是最后一頁 next.Enabled=false; if(CurrentPage1==0)//判斷是否是第一頁 first.Enabled=false; } publicvoidPage_1OnClick(Objectsender,CommandEventArgse)//點擊響應事件 {intPageCount1; CurrentPage1=(int)ViewState["PageIndex1"]; PageCount1=(int)ViewState["PageCount1"]; stringcmd=e.CommandName; switch(cmd)//判定cmd,以判定翻頁方向 { case"next": if(CurrentPage1<(PageCount1-1))CurrentPage1++; break; case"prev": if(CurrentPage1>0)Current; break; } ViewState["PageIndex1"]=CurrentPage1; List3Bind();}注意:翻頁的時候,也必須加載事件,而且必須設置按鈕的CommandName。在此模塊中的導航條中可以設置鏈接文本的4種狀態。代碼如下:A:link{color:yellow;text-decoration:none}//鼠標未點擊的狀態A:visited{color:blue}//點擊過的狀態A:active{color:white}//激活時的狀態A:hover{color:Yellow;text-decoration:blink;font-size:14px;font-weight:bold}//鼠標經過時的狀態此模塊中,還設定了一段滾動的文字,和一個時鐘,這只要在html中敲入以下代碼就行了。scrollAmount設置翻滾的速度,direction設置了翻滾的方向。滾動的文字:

<marqueeid="newslist"onmouseover="newslist.stop()"style="WIDTH:100.66%;onmouseout="newslist.start()"scrollAmount="1"scrollDelay="80"direction="up"width="100.66%"height="154"><FONTcolor="#1e90ff"size="3">翻滾的文字</marquee>時鐘:<embed></embed>用于嵌入對象<CENTER><EMBEDstyle="WIDTH:144px;HEIGHT:130px"src="/Twins/Twins07.swf"width="144"height="130"type="application/octet-stream"></CENTER>由于本網站的頁面頁腳是相同的。為了避免重復的插入圖片,本網站編寫了兩個基本的用戶控件,使得ASP.NET頁面像使用服務器端控件那樣簡單地使用這些控件。那么怎樣創建用戶控件呢?首先,創建一個描述用戶控件的.ascx文件,然后通過@Register指令注冊用戶控件,最后通過調用在@Register指令中注冊的標記將用戶控件添加到Web窗體中。要注冊控件,先要定義三個屬性。TagPrefix,定義控件位置的命名空間。有了命名控件制約,就可以在同一個網頁里使用不同功能的同名控件;TagName,指向所使用控件的名字。在同一個命名控件里的控件名是唯一的。控件名一般都表明控件的功能;Src,指向控件的.ascx文件。注意,這里只能用虛路徑而不能使用物理路徑。具體運用如下:<%@RegisterTagPrefix="homepage"TagName="Head"Src="head.ascx"%>//注冊控件<%@RegisterTagPrefix="homepage"TagName="Head"Src="head.ascx"%>//運用控件4.3課程資源查詢模塊4.3.1課程資源查詢功能簡介這個模塊主要實現對課程信息的查詢。本網站有很多的精品課程資源,對于不熟悉網站布局的用戶,要找到自己想要的資源,可能需要花費很多的時間和精力。這對于一個實用的網站是絕不允許的。所以本網站提供了查詢功能,本系統可以按照課程內容的關鍵字,教師姓名,課程名或者課程的推薦指數分別進行查詢,為了使其更具有實用性,也可以使用終合查詢。同時,為了幫助用戶節省時間,還可以通過課程級別與課程所屬學科兩者聯合查詢。有時候,用戶可能記不全課程名字或者另外的關于每一課程的信息,為了彌補這種不足,本系統設計了支持模糊查詢的功能。4.3.2課程資源查詢界面設計(1)根據輸入內容查詢的模糊查詢搜索條件:這里實現的查詢是綜合查詢,而且是模糊查詢,用戶可以通過輸入一項或者幾項條件進行查詢。主要用了TextBox控件,DropDownList控件。圖4-3(a)綜合搜索條件圖圖4-3(b)綜合搜索結果圖(2)根據下拉列表的查詢這里的查詢是通過同時滿足兩個下拉列表中的條件實現的,由于課程類別可能要進行修改,所以這里是通過跟數據進行綁定得到的。

圖4-3(c)下拉列表搜索圖4.3.3查詢模塊的部分代碼在此系統中,查詢模塊由兩部分組成,一部分時通過下拉列表來實現,由于課程類別可以時時更新,所以這里下拉列表中的內容是通過綁定實現的。另一部份是通過在文本框中輸入信息進行綜合查詢,這部分查詢用的是模糊查詢。下拉列表綁定的代碼:

………. //與DataGrid綁定相似 DropDownList6.DataTextField="courcecolumn";//獲取數據源字段 DropDownList6.DataBind();通過下拉列表進行查詢的代

溫馨提示

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

評論

0/150

提交評論