基于asp.net的音乐分享网站的设计与实现(含源文件)
?
歡迎添加微信互相交流學習哦!
項目源碼:https://gitee.com/oklongmm/biye
音樂分享網(wǎng)站的設(shè)計與實現(xiàn)
摘 ?要
隨著社會的發(fā)展時代的前進,IT行業(yè)的發(fā)展也是日新月異,對人類的生產(chǎn)和生活方式產(chǎn)生了很大影響。網(wǎng)絡傳播以其特有的快速、高效、便捷的傳輸方式被人們所接受,越來越多的走進了千家萬戶。并且在當今音樂浪潮的影響下,隨著音樂事業(yè)逐漸走向高峰,音樂已無處不在,音樂已與我們密不可分。
本文闡述了音樂分享網(wǎng)站的設(shè)計與實現(xiàn),本系統(tǒng)采用Microsoft Visual Studio 2010 作為開發(fā)工具。前臺主要實現(xiàn)歌曲的分類顯示及分類查詢、歌曲的在線試聽、會員注冊、登錄以及最新音樂的介紹,并且還為用戶提供了在線分享的平臺等功能;后臺主要用于數(shù)據(jù)庫的管理,管理員對影視歌曲的添加、刪除、更新及對注冊會員和音樂新聞的管理、系統(tǒng)的維護等功能。本系統(tǒng)操作簡單,界面友好。
關(guān)鍵字:ASP.NET;音樂分享網(wǎng)站 ;C#?
Designing and Implementation of Music Website
Abstract
As the following ages of the society developing, IT filed develop so quickly that it has affected our life and living ways. Net spread is accepted as a fast, efficacious and convenient way, and is welcomed by more and more families. Because of being affected by pop music nowadays, Music is so much everywhere that our life really needs it.
The designing and implementation with Microsoft Visual Studio 2010 of music website is discussed in this paper. The functions of classification display and inquiring, listening songs on line and downloading, user registering, the latest news about music introduction have been finished in Foreground. The online Communication platform is also workable. The database manage is operated in the Background. The function of songs add, delete and upgrade user information are also operated in the background. Easy operation and good interface are also typical features of the system.
?Keywords: ASP .NET;Music website;C#
?
目 ?錄
1?? ?概論?? ?1
1.1?? ?課題背景?? ?1
1.2?? ?本課題研究的意義?? ?1
1.3?? ?本課題研究的方法?? ?1
2?? ?網(wǎng)站開發(fā)技術(shù)及相關(guān)工具?? ?1
2.1?? ?開發(fā)語言?? ?1
2.1.1?? ?ASP.NET語言?? ?1
2.1.2?? ?SQL介紹?? ?2
2.2 ? B/S模式介紹?? ?3
3?? ?需求分析?? ?3
3.1 ? 系統(tǒng)主要工作流程圖?? ?4
3.1.1 ?后臺管理模塊程序流程?? ?4
3.1.2 ?前臺管理模塊程序流程?? ?4
3.2 ? 系統(tǒng)實現(xiàn)采用環(huán)境?? ?5
3.3 ? 系統(tǒng)功能需求?? ?5
4?? ?音樂分享網(wǎng)站功能的設(shè)計與實現(xiàn)?? ?5
4.1?? ?系統(tǒng)主要設(shè)計?? ?5
4.1.1 ?系統(tǒng)主要功能?? ?5
4.1.2 ?主要功能模塊?? ?6
4.2 ? 數(shù)據(jù)庫的分析與設(shè)計?? ?7
4.2.1 ?數(shù)據(jù)庫的需求分析?? ?7
4.2.2 ?數(shù)據(jù)庫結(jié)構(gòu)設(shè)計?? ?7
4.3 ? 系統(tǒng)主要功能實現(xiàn)?? ?10
4.3.1 ?主頁的實現(xiàn)?? ?10
4.3.2 ?歌曲試聽排行頁面?? ?14
4.3.3 ?用戶注冊?? ?17
4.3.4 ?后臺頁面?? ?19
5 系統(tǒng)測試?? ?22
5.1 ? 測試方法?? ?22
5.2 ? 預期測試結(jié)果?? ?22
5.3 ? 測試結(jié)果?? ?22
結(jié) ? ?論?? ?22
參考文獻?? ?23
致 ? ?謝?? ?24
聲 ? ?明?? ?25?
1?? ?概論
1.1?? ?課題背景
隨著Internet的快速發(fā)展,人們已經(jīng)進入了信息時代,Web已經(jīng)對商業(yè)、工業(yè)、銀行、財政、教育、政府、娛樂和信息產(chǎn)業(yè)及人們的工作、生活產(chǎn)生了深遠的影響。許多傳統(tǒng)的信息和數(shù)據(jù)庫系統(tǒng)正在被移植到互聯(lián)網(wǎng)上,人們獲得信息的來源已經(jīng)不再只是報紙、電視、廣播等傳統(tǒng)媒體,一個新的信息傳送媒體逐漸被人們所青睞。范圍廣泛的,復雜的分布式應用正在Web環(huán)境中出現(xiàn)。音樂分享網(wǎng)站作為一個新時代傳媒的產(chǎn)物,早已超過了國界,使聽音樂變的如此便捷,它摒棄了傳統(tǒng)聽音樂媒體的不足,正在快速向前發(fā)展。
1.2?? ?本課題研究的意義
當今時代是一個互聯(lián)網(wǎng)絡告訴發(fā)展和發(fā)達的時代,本課題的研究意義就在于構(gòu)造一個網(wǎng)絡音樂視聽和分享的平臺,使人們在紛繁的網(wǎng)絡中也能夠找到一個休憩的天地。同時也是對四年學習的一個總結(jié)和提高。
1.3?? ?本課題研究的方法
本課題的開發(fā)采用ASP.NET實現(xiàn),前期主要運用所學相關(guān)知識、查詢資料、學習其他優(yōu)秀管理系統(tǒng)開發(fā)方法,結(jié)合相關(guān)要求寫出需求分析;后期,進行本課題的設(shè)計與開發(fā)。課題的頁面主要采用C#語言對數(shù)據(jù)庫進行操作,通過對數(shù)據(jù)庫的查詢搜索來實現(xiàn),對表單以及數(shù)據(jù)的校驗采用java script腳本語言,控制頁面的正確顯示和對用戶類型的權(quán)限設(shè)計。采用sql數(shù)據(jù)庫,包含幾張表,實現(xiàn)整個系統(tǒng)的操作。在整個設(shè)計過程中以需求分析為基礎(chǔ),寫出系統(tǒng)實現(xiàn)流程及相關(guān)問題的實現(xiàn)方法;系統(tǒng)開發(fā)完成后,進行調(diào)試和運行,做好調(diào)試和試運行的相關(guān)記錄。
2?? ?網(wǎng)站開發(fā)技術(shù)及相關(guān)工具
2.1?? ?開發(fā)語言
2.1.1?? ? ASP.NET
ASP.NET是ASP的下一代版本,然而ASP.NET又并非從ASP3.0自然演化而來,在許多方面,ASP.NET與ASP有著本質(zhì)的不同。ASP.NET完全基于模塊與組件,具有更好的可擴展性與可定制性,數(shù)據(jù)處理方面更是引入了許多激動人心的新技術(shù),正是這些具有革新意義的新特性,讓ASP.NET遠遠超越了ASP,同時也提供給web開發(fā)人員更好的靈活性,有效縮短了web應用程序的開發(fā)周期。ASP.NET與Windows 2000 Server/Advanced Server的完美組合,為中小型乃至企業(yè)級的web商業(yè)模型提供了一個更為穩(wěn)定,高效,安全的運行環(huán)境。
ASP.NET 是統(tǒng)一的 Web 應用程序平臺,它提供了為建立和部署企業(yè)級 Web 應用程序所必需的服務。ASP.NET 為能夠面向任何瀏覽器或設(shè)備的更安全的、更強的可升級性、更穩(wěn)定的應用程序提供了新的編程模型和基礎(chǔ)結(jié)構(gòu)。
ASP.NET 是 Microsoft .NET Framework 的一部分,是一種可以在高度分布的 Internet 環(huán)境中簡化應用程序開發(fā)的計算環(huán)境。.NET Framework 包含公共語言運行庫,它提供了各種核心服務,如內(nèi)存管理、線程管理和代碼安全。它也包含 .NET Framework 類庫,這是一個開發(fā)人員用于創(chuàng)建應用程序的綜合的、面向?qū)ο蟮念愋图稀?br /> 。?
2.1.2?? ? SQL介紹
SQL全稱是“結(jié)構(gòu)化查詢語言(Structured Query Language)”。SQL語言結(jié)構(gòu)簡潔,功能強大,簡單易學。 SQL是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。SQL是一種用于數(shù)據(jù)庫查詢和編程的語言,已經(jīng)成為關(guān)系型數(shù)據(jù)庫普遍使用的標準,使用這種標準數(shù)據(jù)庫語言對程序設(shè)計和數(shù)據(jù)庫的維護都帶來了極大的方便,廣泛地應用于各種數(shù)據(jù)查詢。他不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng)可以使用相同的SQL語言作為數(shù)據(jù)輸入與管理的接口。它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強大的功能,在多數(shù)情況下,在其他語言中需要一大段程序?qū)崿F(xiàn)的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。SQL同時也是數(shù)據(jù)庫文件格式的擴展名。
數(shù)據(jù)庫,顧名思義,是存入數(shù)據(jù)的倉庫。只不過這個倉庫是在計算機存儲設(shè)備上的,而且數(shù)據(jù)是按一定格式存放的。 要是下定義的話,就應該是:指長期儲存在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫管理是有關(guān)建立、存儲、修改和存取數(shù)據(jù)庫中信息的技術(shù),是指為保證數(shù)據(jù)庫系統(tǒng)的正常運行和服務質(zhì)量,有關(guān)人員須進行的技術(shù)管理工作。數(shù)據(jù)庫管理的主要內(nèi)容有:數(shù)據(jù)庫的建立、數(shù)據(jù)庫的調(diào)整、數(shù)據(jù)庫的重組、數(shù)據(jù)庫的重構(gòu)、數(shù)據(jù)庫的安全控制、數(shù)據(jù)的完整性控制和對用戶提供技術(shù)支持。?
介于SQL的優(yōu)點,本系統(tǒng)采用SQL Server2008,作為數(shù)據(jù)庫工具。
2.2 B/S模式介紹
B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實現(xiàn)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡應用,并通過Internet/Intranet模式下數(shù)據(jù)庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權(quán)限,服務器數(shù)據(jù)庫也很安全 。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。
目前,軟件系統(tǒng)的改進和升級越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對一個稍微大一點單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。無論用戶的規(guī)模有多大,有多少分支機構(gòu)都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行;如果是異地,只需要把服務器連接專網(wǎng)即可,實現(xiàn)遠程維護、升級和共享。所以客戶機越來越“瘦”,而服務器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節(jié)省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務器。
由于B/S架構(gòu)管理軟件只安裝在服務器端(Server)上,網(wǎng)絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW瀏覽器實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡管理人員只需要做硬件維護。但是,應用服務器運行數(shù)據(jù)負荷較重,一旦發(fā)生服務器“崩潰”等問題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)庫存儲服務器,以防萬一。
3?? ?需求分析
在數(shù)字化的網(wǎng)絡環(huán)境下,人們希望在忙碌工作后能有閑暇時間聽音樂放松一下心情,根據(jù)自己的情況聽到想聽的音樂,而不會再為了能聽一首歌翻箱倒柜或者四處奔波找尋;服務企業(yè)也希望能給人們提供全面的靈活的服務,同時希望人們能在網(wǎng)站上找到自己喜歡的音樂。所以音樂分享網(wǎng)站正是迎合這一市場需求而開發(fā)的,它旨在探索一種以互聯(lián)網(wǎng)為基礎(chǔ)的音樂交流平臺。通過這種模式,為網(wǎng)民創(chuàng)造一種享受音樂的環(huán)境,使音樂突破時空限制,讓音樂更加貼近,充實生活。本課題設(shè)計實現(xiàn)了用戶在線收聽,分享,搜索音樂及提供交流平臺等功能,具有操作簡便,界面友好等特性。貼近現(xiàn)實需求。
3.1系統(tǒng)主要工作流程圖
3.1.1 后臺管理模塊程序流程
該流程圖描述了后臺管理員對網(wǎng)站的管理,普通用戶可以上傳分享音樂,管理員可以對歌曲進行添加,修改,刪除。具體的添加功能是通過本地瀏覽把歌曲上傳到網(wǎng)站;修改歌曲信息或者刪除點擊率低的歌曲等功能。如圖3.1所示。
圖3.1 后臺管理程序主要流程圖
3.1.2 前臺管理模塊程序流程
本系統(tǒng)設(shè)計的初衷是會員可以享受網(wǎng)站的功能,未注冊的游客只能瀏覽網(wǎng)站,不能進行其他操作。因此當用戶在進入網(wǎng)站的一開始便會對用戶的身份和權(quán)限進行驗證,反饋不同的頁面給不痛的用戶而用戶,從而實現(xiàn)對權(quán)限的劃分功能。注冊后成為會員,就可在網(wǎng)站上在線視聽音樂、分享網(wǎng)站、搜索歌曲、享受專輯的在線視聽以及實現(xiàn)分享歌曲等功能。管理員身份除了享有普通會員的權(quán)限以外,還可以對歌曲的添加、刪除、修改以及上傳文件、管理個人資料、修改登陸賬號和密碼等操作。該流程圖描述了音樂分享網(wǎng)站的整個流程,如圖3.2所示。
?
圖3.2 前臺管理程序主要流程圖
3.2 系統(tǒng)實現(xiàn)采用環(huán)境
1.?? ?操作系統(tǒng):Microsoft Windows XP Professional。
2.?? ?運行環(huán)境:IIS。
3.?? ?數(shù)據(jù)庫系統(tǒng):SQL Sever 2008。
4.?? ?開發(fā)平臺:Microsoft Visual Studio 2010。
3.3 系統(tǒng)功能需求?? ?
音樂分享網(wǎng)站是一個非常實用的網(wǎng)站且并是需要一個過于復雜的工運行環(huán)境。課題設(shè)計必須符合實際的需要,從目前市場這個情況來看,該系統(tǒng)主要是為了滿足音樂愛好者對音樂追求時提供一個更為方便的環(huán)境,也為人們閑暇是提供一個休閑的場所,實現(xiàn)音樂、電影的在線試聽及收看,同時實現(xiàn)歌曲的分享及歌曲的搜索,會員之間的交流等功能。
4?? ?網(wǎng)站設(shè)計
4.1?? ?系統(tǒng)主要設(shè)計
4.1.1 系統(tǒng)主要功能
1.?? ?用戶注冊登錄功能:只有登錄注冊后才能使用本網(wǎng)站功能;
2.?? ?在線收聽:會員能在線收聽音樂;
3.?? ?音樂分享:會員分享自己的音樂;
4.?? ?網(wǎng)站對歌曲進行分類,使會員根據(jù)自己喜愛試聽或下載歌曲;
5.?? ?網(wǎng)站提供新歌推薦和音樂排行榜項目,使會員能第一時間找到熱門歌曲;
6.?? ?搜索功能:會員能通過輸入歌手或者歌曲名找到自己想聽的音樂;
7.?? ?管理員對歌曲的添加,修改,刪除;
8.?? ?系統(tǒng)支持多種格式的音樂上傳;
9.?? ?管理員賬號管理。
4.1.2主要功能模塊
1.?? ?后臺管理模塊
該模塊只對管理員開放,管理員可以對歌曲進行添加,修改,刪除。具體的添加功能是通過瀏覽把歌曲上傳到網(wǎng)站;修改歌曲信息或者刪除點擊率的歌曲等功能。如圖4.1所示。
?
圖4.1 后臺管理模塊
2.?? ?前臺管理模塊
該模塊用戶注冊后即成為會員,就可在網(wǎng)站上在線試聽音樂,搜索歌曲以及下載歌曲。也可以在論壇上和其他會員進行交流。在線試聽主要采用在用戶端調(diào)用windows默認播放器media player從服務器數(shù)據(jù)庫查詢播放歌曲的路徑,賦予播放器來實現(xiàn)的.而下載的功能是利用stream組件的讀寫操作,從服務器端打開并讀取文件向瀏覽器端的stream寫入數(shù)據(jù),用戶端再保存文件到本地計算機來實現(xiàn)的.搜索功能,主要采取的三模糊查詢和精確查詢兩種.在搜索歌手的時候三用的精確查詢,換句話說就是必須要正確輸入想要查詢的歌手的名字才能夠查詢到相應的歌曲,而對歌曲名稱的搜索三模糊查詢,用戶可以輸入相關(guān)的字段便可以從數(shù)據(jù)庫里面找到相近或相似的歌曲.音樂論壇用到的計算就相對較簡單一點,主要是對數(shù)據(jù)庫執(zhí)行插入、更新和查詢的操作。詳細模塊的介紹如圖4.2所示。
? ?
圖4.2 前臺管理模塊圖
4.2數(shù)據(jù)庫的分析與設(shè)計
4.2.1數(shù)據(jù)庫的需求分析 ? ?
本課題開發(fā)的數(shù)據(jù)庫包括三個方面。
1.?? ?論壇信息數(shù)據(jù)表:存儲論壇有關(guān)數(shù)據(jù)及論壇留言,即論壇基本參數(shù)信息數(shù)據(jù)、論壇留言主題信息數(shù)據(jù)表。
2.?? ?歌曲數(shù)據(jù)表:存儲歌曲基本參數(shù)信息,包括歌曲單曲存儲表及歌曲專集存儲表。
3.?? ?用戶數(shù)據(jù)表:存儲注冊用戶有關(guān)數(shù)據(jù),包括注冊用戶信息數(shù)據(jù)表、用戶登錄賬號管理存儲表。
4.2.2數(shù)據(jù)庫結(jié)構(gòu)設(shè)計
本課題使用SQL Sever 2008作為數(shù)據(jù)庫管理系統(tǒng),現(xiàn)將數(shù)據(jù)庫中包含的數(shù)據(jù)表及相應功能如下表4.1所示:
表4.1 數(shù)據(jù)庫包含的數(shù)據(jù)庫表及其功能
數(shù)據(jù)表?? ?功能
BBS?? ?存放用戶論壇留言基本信息
information?? ?存放歌曲的基本信息
movie?? ?存放電影的基本信息
vip?? ?存放用戶注冊基本信息
zhuanji?? ?存放歌曲專集信息
zhuce?? ?存放用戶登錄的基本信息
??? ?數(shù)據(jù)庫包含的數(shù)據(jù)表的關(guān)系視圖:
1.?? ?注冊用戶信息表vip
注冊用戶信息表用于存放注冊用戶的基本信息,包括用戶名(name)、個人密碼(pass)、郵箱地址(mail)、用戶性別(sex)、注冊時間(date)、用戶類型(admin)。其中,name(用戶姓名)字段作為該表的主關(guān)鍵字(primary key)。如表4.2所示:
表4.2 vip表設(shè)計
字段名?? ?數(shù)據(jù)類型及長度?? ?說明?? ?備注
name?? ?char(100)?? ?用戶姓名?? ?主關(guān)鍵字
pass?? ?char(100)?? ?用戶密碼?? ?not null
mail?? ?char(200)?? ?電子郵件?? ?null
sex?? ?char(50)?? ?用戶性別?? ?null
[date]?? ?datetime(8)?? ?注冊時間?? ?not null
admin?? ?text(16)?? ?用戶類型?? ?null
2.?? ?用戶登錄信息表 zhuce
該表用于記錄用戶登錄的基本信息,包括用戶名(name)、密碼(password)及注冊時間([date])。其中,name(用戶姓名)做為該表的主關(guān)鍵字。如表4.3所示:
表4.3zhuce表設(shè)計
字段名?? ?數(shù)據(jù)類型及長度?? ?說明?? ?備注
name?? ?char?? ?用戶姓名?? ?主關(guān)鍵字
password?? ?char?? ?用戶密碼?? ?not null
[date]?? ?datetime?? ?注冊時間?? ?not null
3.?? ?歌曲基本信息表 information
該表存放歌曲的基本信息,包括歌曲ID(id)、歌手名字(singer)、歌曲名(song)、歌曲類型(type)、新歌推薦(class)、歌曲介紹(introduce)、點擊率(hit)、歌曲URL(url)。其中id字段作為該表的主關(guān)鍵字,標識為“是”,標識種子為“1”,標識增量為“1”,惟一標識了一個歌曲基本信息。如表4.4所示:
表4.4 information表設(shè)計
字段名?? ?數(shù)據(jù)類型及長度?? ?說明?? ?備注
id?? ?int(4)?? ?歌曲ID?? ?主關(guān)鍵字
singer?? ?char(100)?? ?歌手姓名?? ?null
song?? ?char(500)?? ?歌曲名字?? ?null
type?? ?char(100)?? ?歌曲類型?? ?null
class?? ?char(100)?? ?新歌推薦?? ?null
introduce?? ?char(1000)?? ?歌曲介紹?? ?null
hit?? ?int(4)?? ?點擊率?? ?null
url?? ?char(3000)?? ?歌曲url?? ?null
4. 電影基本信息表 movie
該表存放電影的基本信息,包括主要電影ID(id)、演員姓名(name)、電影名字(moviename)、電影圖片(moviephoto)、電影URL(movieurl)、電影簡介(movieinform)、電影類型(type)、上傳時間([date])。其中電影ID為主關(guān)鍵字。如下表所示:
表4.5 movie表設(shè)計
字段名?? ?數(shù)據(jù)類型及長度?? ?說明?? ?備注
id?? ?int(4)?? ?電影ID?? ?主關(guān)鍵字
name?? ?char(1000)?? ?演員姓名?? ?null
moviename?? ?char(1000)?? ?電影名字?? ?null
moviephoto?? ?char(1500)?? ?電影圖片?? ?null
moveurl?? ?char(2000)?? ?電影URL?? ?null
movieinform?? ?char(1000)?? ?電影簡介?? ?null
type?? ?char(500)?? ?電影類型?? ?null
[date]?? ?int(8)?? ?上傳時間?? ?null
5. 專集基本信息表 zhuanji
該表存放歌曲專集的基本信息,包括專集ID(id)、專集類型(type)、專集名稱(song)、點擊率(hit)、專集介紹(introduce)、專集URL(url)、專集圖片(photo)。其中專集ID為主關(guān)鍵字。如下4.6表所示:
表4.6zhuanji表設(shè)計
字段名?? ?數(shù)據(jù)類型及長度?? ?說明?? ?備注
id?? ?int(4)?? ?專集ID?? ?主關(guān)鍵字
type?? ?char(100)?? ?專集類型?? ?null
song?? ?char(700)?? ?專集名稱?? ?null
hit?? ?char(100)?? ?點擊率?? ?null
introduce?? ?char(5000)?? ?專集介紹?? ?null
url?? ?char(1000)?? ?專集URL?? ?null
photo?? ?char(1000)?? ?專集圖片?? ?null
1.?? ?論壇數(shù)據(jù)信息表BBS
該表存放論壇留言功能具體信息。包括論壇ID(id)、用戶名(username)、留言(message)和留言時間([date])。其中論壇ID為主關(guān)鍵字。
表4.7 BBS表設(shè)計
字段名?? ?數(shù)據(jù)類型及長度?? ?說明?? ?備注
id?? ?int(4)?? ?論壇ID?? ?主關(guān)鍵字
username?? ?char(50)?? ?用戶名?? ?null
message?? ?varchar(5000)?? ?留言?? ?null
[date]?? ?int(8)?? ?留言時間?? ?not null
4.3系統(tǒng)主要功能實現(xiàn)
4.3.1網(wǎng)站主頁的實現(xiàn)
用戶注冊后登錄網(wǎng)站,便進入主頁,即可在首頁上點相應導航鏈接,進行所需操作。未經(jīng)注冊的會員也能登錄主頁,但不能進行試聽歌曲等其他操作。
主頁是通過對其他頁面進行鏈接實現(xiàn)的,本系統(tǒng)還實現(xiàn)各種分類功能,如:流行歌曲、原創(chuàng)歌曲、翻唱歌曲、音樂排行榜、新歌推薦等,還提供搜索功能,根據(jù)歌曲或歌手來實現(xiàn)搜索功能,主頁頁面如下圖所示。
?
圖4.4登錄頁面
登錄功能的實現(xiàn)我們采用第一個表單頁面讓用戶輸入自己的會員賬號和密碼,然后發(fā)送到login.aspx頁面上查詢數(shù)據(jù)庫中保存的賬號和密碼進行身份驗證,因為每一個用戶登錄系統(tǒng)都會自動分配一個session,所以我們把驗證后的信息存儲到session里面,方便后續(xù)頁面的調(diào)用和認證:
?protected void btnLogin_Click(object sender, EventArgs e)
? ? {
? ? ? ? string userName = txtUserName.Text.Trim();
? ? ? ? string userPwd = txtUserPwd.Text.Trim();
? ? ? ? if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(userPwd))
? ? ? ? {
? ? ? ? ? ? Student s = new Student();
? ? ? ? ? ? s.StuNo = userName;
? ? ? ? ? ? s.StuPwd = userPwd;
? ? ? ? ? ? bool b = s.Login();
? ? ? ? ? ? if (b)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? //使用Session保存用戶
? ? ? ? ? ? ? ? s = s.GetModel(userName);
? ? ? ? ? ? ? ? Session["STUDENT_ME"] = s;
? ? ? ? ? ? ? ? if (s.Role)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? //管理員
? ? ? ? ? ? ? ? ? ? Response.Redirect("adminSpace.aspx");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? //普通會員
? ? ? ? ? ? ? ? ? ? Response.Redirect("mySpace.aspx");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? //使用Cookies保存用戶名
? ? ? ? ? ? ? ? //HttpCookie cookieStuNo = new HttpCookie("STUDENT_NO", userName);
? ? ? ? ? ? ? ? //cookieStuNo.Path = "/";
? ? ? ? ? ? ? ? //cookieStuNo.Expires = DateTime.Now.AddDays(15);
? ? ? ? ? ? ? ? //Response.Cookies.Add(cookieStuNo);
? ? ? ? ? ? ? ? //s = s.GetModel(userName);
? ? ? ? ? ? ? ? //if (s.Role)
? ? ? ? ? ? ? ? //{
? ? ? ? ? ? ? ? // ? ?//管理員
? ? ? ? ? ? ? ? // ? ?Response.Redirect("adminSpace.aspx");
? ? ? ? ? ? ? ? //}
? ? ? ? ? ? ? ? //else
? ? ? ? ? ? ? ? //{
? ? ? ? ? ? ? ? // ? ?//普通會員
? ? ? ? ? ? ? ? // ? ?Response.Redirect("mySpace.aspx");
? ? ? ? ? ? ? ? //}
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? //Response.Write("<script language='javascript'>alert('登陸失敗,請重試!');</script>");
? ? ? ? ? ? }
? ? ? ? }
?
圖4.5 主頁頁面
前臺主頁面顯示了幾個大塊:一,導航 二,音樂排行 三,新進會員 四,會員登錄信息 五,音樂搜索 六,新歌推薦 七,歌曲排行榜以及合作伙伴的鏈接。
主要代碼如下:
<form id="form1" runat="server">
? ? <div align="center">
? ? ? ?
? ? ? ? <uc1:Header ID="Header1" runat="server" />
? ? ? ? <table width="760" border="0" cellpadding="0" cellspacing="0">
? ? ? ? ? <tr>
? ? ? ? ? ? <td valign="top"><!-- InstanceBeginEditable name="Body" -->
? ? ? ? ? ? ? <table width="100%" border="0" cellspacing="0" cellpadding="0">
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td background="Images/spliter2.jpg" height="10px"></td>
? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td background="Images/bg1.jpg" ><table width="100%" border="0" cellspacing="0" cellpadding="0">
? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? <td width="75%" valign="middle">
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:DataList ID="dlNewUsers" runat="server" Width="100%" RepeatColumns="5" RepeatDirection="Horizontal">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <ItemTemplate>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <table width="100%" border="0" cellspacing="0" cellpadding="0">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <tr > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td align="center">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <a href='showUserBasicInfo.aspx?stuno=<%# Eval("StuNo")%>'><img src='<%# Eval("stuPhotoUrl") %>' alt="photo" ?width="108" height="108" border="0" /></a>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </td> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<tr>?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td align="center">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <a href='showUserBasicInfo.aspx?stuno=<%# Eval("StuNo")%>'><%# Eval("StuName")%></a>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </table> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </ItemTemplate>
? ? ? ? ? ? ? ? ? ? ? ? ? </asp:DataList>
? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? ? ? <td width="23%"><table width="100%" border="0" cellspacing="0" cellpadding="0" class="box1">
? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? <td width="31%"> </td>
? ? ? ? ? ? ? ? ? ? ? ? ? <td class="style1"> </td>
? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? <td>用戶名:</td>
? ? ? ? ? ? ? ? ? ? ? ? ? <td class="style1">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtUserName" runat="server" CssClass="big" ?Width="80" ?></asp:TextBox>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? <td>密 碼:</td>
? ? ? ? ? ? ? ? ? ? ? ? ? <td class="style1">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtUserPwd" runat="server" CssClass="big" Width="80" TextMode="Password"></asp:TextBox></td>
? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? <td> </td>
? ? ? ? ? ? ? ? ? ? ? ? ? <td class="style1">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <asp:Button ID="btnLogin" runat="server" OnClick="btnLogin_Click" Text="Login" /> </td>
? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? <td><div align="center">?<a href="reg.aspx">注冊</a></div></td>
? ? ? ? ? ? ? ? ? ? ? ? ? <td class="style1"><div align="center">?<a href="getpassword.aspx">忘記密碼</a></div></td>
? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? </table>
? ? ? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? </table></td>
? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td ?background="Images/spliter2.jpg" height="10px"></td>
? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? </table>
?? ? ? ? ? ? ?<table width="100%" border="0" cellspacing="0" cellpadding="0">
? ? ? ? ? <tr>
? ? ? ? ? ? <td width="50%" valign="top" ><table border="0" width="100%" ?cellspacing="0" cellpadding="0">
? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? <td height="25" valign="middle" class="subtitle">
?? ??? ? ? ? ? ?<table width="100%" border="0" cellspacing="0" cellpadding="5">
? ? ? ? ? <tr class="nav">
? ? ? ? ? ? <td align="left">歌曲排行榜</td>
? ? ? ? ? ? <td align="right"><a href="moreHotMusic.aspx">More</a>...</td>
? ? ? ? ? </tr>
? ? ? ? </table>
? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? <td style="height: 288px" valign="top" align="left"> ? ? ? ? ?
4.3.2歌曲欣賞
1.?? ?音樂欣賞
??
圖4.6音樂欣賞
會員根據(jù)喜好選擇歌曲,點擊即可在線試聽歌曲。在線視聽功能采取的原理是在頁面上嵌入一個windowns自帶的播放器,獲取上個頁面請求的歌曲路徑加入播放列表然后進行播放,頁面代碼如下:
<tr>
? ? ? ? ? <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
? ? ? ? ? ? <tr>
? ? ? ? ? ? ? <td width="9%"> </td>
? ? ? ? ? ? ? <td width="30%" valign="top"><object classid=clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95 width="100%" height="160">
? ? ? ? ? ? ? ? <param name=showstatusbar value=1 />
? ? ? ? ? ? ? ? <param name="filename" value="<%= getMusic() %>">" />
? ? ? ? ? ? ? ? <embed src="<%= getMusic() %>" width="100%" height="100%"> </embed>
? ? ? ? ? ? ? </object></td>
? ? ? ? ? ? ? <td width="55%" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td width="23%">歌曲名稱:</td>
? ? ? ? ? ? ? ? ? <td width="77%">
? ? ? ? ? ? ? ? ? ? ? <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td>歌手名稱:</td>
? ? ? ? ? ? ? ? ? <td>
? ? ? ? ? ? ? ? ? ? ? <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td>上載人:</td>
? ? ? ? ? ? ? ? ? <td>
? ? ? ? ? ? ? ? ? ? ? <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td>上載時間:</td>
? ? ? ? ? ? ? ? ? <td>
? ? ? ? ? ? ? ? ? ? ? <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label>
? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? </tr>
?? ??? ??? ??? ? <tr>
? ? ? ? ? ? ? ? ? <td>點播次數(shù):</td>
? ? ? ? ? ? ? ? ? <td>
? ? ? ? ? ? ? ? ? ? ? <asp:Label ID="Label5" runat="server" Text="Label"></asp:Label>
? ? ? ? ? ? ? ? ? ? ?</td>
? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? </table>?
?? ??? ??? ? ?</td>
?? ??? ??? ? ?<td width="12%"> </td>
? ? ? ? ? ? </tr>
?? ??? ??? ? <tr>
? ? ? ? ? ? ? <td width="9%"> </td>
? ? ? ? ? ? ? <td colspan="2" align="left" class="title"><p>歌曲歌詞</p></td>
? ? ? ? ? ? ? <td width="12%"> </td>
? ? ? ? ? ? </tr>
?? ??? ??? ? <tr>
? ? ? ? ? ? ? <td width="9%"> </td>
? ? ? ? ? ? ? <td colspan="2" align="left" valign="top">
? ? ? ? ? ? ? ? ? <asp:Label ID="Label6" runat="server" Text="Label"></asp:Label>
? ? ? ? ? ? ? ? ?</td>
? ? ? ? ? ? ? <td width="12%"> </td>
? ? ? ? ? ? </tr>
? ? ? ? ? </table></td>
?? ??? ?</tr>
2.?? ?音樂排行榜
?
?? ??? ?圖4.7 歌曲排行榜
音樂排行是本系統(tǒng)的最關(guān)鍵的模塊,我們根據(jù)用戶的收聽情況運行排行。代碼如下:
?<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"?
? ? ? ? ? ? ? ? ? Width="100%" AllowPaging="True"?
? ? ? ? ? ? ? ? ? onpageindexchanging="GridView1_PageIndexChanging" PageSize="10">
? ? ? ? ? ? ? ? ? <Columns>
? ? ? ? ? ? ? ? ? ? ? <asp:BoundField DataField="musicName" HeaderText="歌曲名稱" />
? ? ? ? ? ? ? ? ? ? ? <asp:BoundField DataField="singer" HeaderText="歌手" />
? ? ? ? ? ? ? ? ? ? ? <asp:BoundField DataField="uploaderStuNo" HeaderText="上傳人" />
? ? ? ? ? ? ? ? ? ? ? <asp:BoundField DataField="addDate" HeaderText="上載日期" />
? ? ? ? ? ? ? ? ? ? ? <asp:BoundField DataField="clicks" HeaderText="欣賞次數(shù)" />
? ? ? ? ? ? ? ? ? ? ? <asp:TemplateField>
? ? ? ? ? ? ? ? ? ? ? ? <ItemTemplate>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <a href='playmusic.aspx?id=<%# Eval("musicId") %>' target="_blank"><img src="Images/listen.gif" alt="Listen" width="20" height="20" border="0" longdesc="#" /></a>
? ? ? ? ? ? ? ? ? ? ? ? </ItemTemplate>
? ? ? ? ? ? ? ? ? ? ? </asp:TemplateField>
? ? ? ? ? ? ? ? ? </Columns>
? ? ? ? ? ? ? </asp:GridView>
?protected void Page_Load(object sender, EventArgs e)
? ? {
? ? ? ? if (!IsPostBack)
? ? ? ? {
? ? ? ? ? ? LoadMusic();
? ? ? ? }
? ? }
? ? protected void LoadMusic()
? ? {
? ? ? ? Music m = new Music();
? ? ? ? DataSet ds = m.GetHotMusics();
? ? ? ? GridView1.DataSource = ds;
? ? ? ? GridView1.DataBind();
? ? }
? ? protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
? ? {
? ? ? ? GridView1.PageIndex = e.NewPageIndex;
? ? ? ? LoadMusic();
? ? }
4.3.3用戶注冊
游客可以通過注冊成為會員,分享自己的音樂。
? ?
圖4.8 注冊頁面
頁面代碼如下:
<asp:Wizard ID="Wizard1" runat="server" ActiveStepIndex="0" Width="100%"?
? ? ? ? ? ? ? ? ? onfinishbuttοnclick="Wizard1_FinishButtonClick"?
? ? ? ? ? ? ? ? ? onnextbuttοnclick="Wizard1_NextButtonClick"?
? ? ? ? ? ? ? ? ? onsidebarbuttοnclick="Wizard1_SideBarButtonClick"?
? ? ? ? ? ? ? ? ? onactivestepchanged="Wizard1_ActiveStepChanged">
? ? ? ? ? ? ? ? ? ? ? <WizardSteps>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:WizardStep ID="WizardStep1" runat="server" Title="第一步:填寫登陸信息">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<table class="box1" width="100%" border="0" cellspacing="0" cellpadding="0">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td width="21%" align="right">學號:</td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td width="48%" align="left">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<asp:TextBox ID="txtStuNo" runat="server"></asp:TextBox></td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td width="31%">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtStuNo"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ErrorMessage="*請輸入學號"></asp:RequiredFieldValidator>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td align="right">密碼:</td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td align="left">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtPwd" runat="server" TextMode="Password"></asp:TextBox></td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtPwd"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ErrorMessage="*請輸入密碼"></asp:RequiredFieldValidator>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td align="right">確認密碼:</td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td align="left">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtPwd2" runat="server" TextMode="Password"></asp:TextBox></td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="txtPwd2"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ControlToValidate="txtPwd" ErrorMessage="兩次輸入的密碼不正確"></asp:CompareValidator>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td colspan="2" align="center"><label>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </label></td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td> </td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </table>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </asp:WizardStep>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:WizardStep ID="WizardStep2" runat="server" Title="第二步:填寫基本信息">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<table class="box1" width="100%" border="2" cellspacing="0" cellpadding="0">
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td ?width="16%">姓名:</td>
? ? ? ? ? ? ? ? ? <td align="left" >
? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtStuName" runat="server"></asp:TextBox>
? ? ? ? ? ? ? ? ? ? ? <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"?
? ? ? ? ? ? ? ? ? ? ? ? ? ControlToValidate="txtStuName" ErrorMessage="*請?zhí)顚懶彰?#34;></asp:RequiredFieldValidator>
? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? <td ?width="10%"> </td>
? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td align="right" style="width: 97px">性別:</td>
? ? ? ? ? ? ? ? ? <td align="left"><label>
? ? ? ? ? ? ? ? ? ? ? <asp:RadioButton ID="rbMan" runat="server" Checked="True" Text="男" />
? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? <asp:RadioButton ID="rbWoman" runat="server" Text="女" /></label></td>
? ? ? ? ? ? ? ? ? <td style="width: 312px"> </td>
? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td align="right" style="width: 97px">出生日期:</td>
? ? ? ? ? ? ? ? ? <td align="left">
? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtBirthday" runat="server"></asp:TextBox>
? ? ? ? ? ? ? ? ? ? ? <asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="txtBirthday"
? ? ? ? ? ? ? ? ? ? ? ? ? ErrorMessage="日期格式不正確" Operator="DataTypeCheck" Type="Date"></asp:CompareValidator>
? ? ? ? ? ? ? ? ? ? ? <asp:Calendar ID="calBirthday" runat="server" Height="68px" OnSelectionChanged="calBirthday_SelectionChanged"
? ? ? ? ? ? ? ? ? ? ? ? ? Width="231px" Visible="false"></asp:Calendar>
? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? <td style="width: 312px"> </td>
? ? ? ? ? ? ? ? </tr>
?? ??? ??? ??? ? <tr>
? ? ? ? ? ? ? ? ? <td align="right" style="width: 97px">通信地址:</td>
? ? ? ? ? ? ? ? ? <td align="left">
? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtAddress" runat="server" Width="206px"></asp:TextBox></td>
? ? ? ? ? ? ? ? ? <td style="width: 312px"> </td>
? ? ? ? ? ? ? ? </tr>
?? ??? ??? ??? ? <tr>
? ? ? ? ? ? ? ? ? <td align="right" style="height: 24px; width: 97px;">郵編:</td>
? ? ? ? ? ? ? ? ? <td align="left" class="style6">
? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtPost" runat="server"></asp:TextBox>
? ? ? ? ? ? ? ? ? ? ? <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="txtPost"
? ? ? ? ? ? ? ? ? ? ? ? ? ErrorMessage="郵編格式不正確" ValidationExpression="\d{6}"></asp:RegularExpressionValidator>
? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? <td style="width: 312px; height: 24px;"> </td>
? ? ? ? ? ? ? ? </tr>
?? ??? ??? ??? ? <tr>
? ? ? ? ? ? ? ? ? <td align="right" style="width: 97px">Email:</td>
? ? ? ? ? ? ? ? ? <td align="left">
? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
? ? ? ? ? ? ? ? ? ? ? <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtEmail"
? ? ? ? ? ? ? ? ? ? ? ? ? ErrorMessage="Email格式不正確" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? <td style="width: 312px"> </td>
? ? ? ? ? ? ? ? </tr>
?? ??? ??? ??? ? <tr>
? ? ? ? ? ? ? ? ? <td align="right" style="height: 24px; width: 97px;">電話:</td>
? ? ? ? ? ? ? ? ? <td align="left" class="style6">
? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtTel" runat="server"></asp:TextBox>
? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? ? <td style="width: 312px; height: 24px;"> </td>
? ? ? ? ? ? ? ? </tr>
?? ??? ??? ??? ? <tr>
? ? ? ? ? ? ? ? ? <td align="right" style="height: 24px; width: 97px;">手機:</td>
? ? ? ? ? ? ? ? ? <td align="left" class="style6">
? ? ? ? ? ? ? ? ? ? ? <asp:TextBox ID="txtMobile" runat="server"></asp:TextBox></td>
? ? ? ? ? ? ? ? ? <td style="width: 312px; height: 24px"> </td>
? ? ? ? ? ? ? ? </tr>
?? ??? ??? ??? ? <tr>
? ? ? ? ? ? ? ? ? <td align="right" style="width: 97px">興趣愛好:</td>
? ? ? ? ? ? ? ? ? <td align="left"> ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? <asp:CheckBox ID="cbPhisical" runat="server" Text="體育" ?/>
? ? ? ? ? ? ? ? ? ? ? <asp:CheckBox ID="cbTravel" runat="server" Text="旅游" />
? ? ? ? ? ? ? ? ? ? ? <asp:CheckBox ID="cbReading"
? ? ? ? ? ? ? ? ? ? ? ? ? runat="server" Text="讀書" />
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:CheckBox ID="cbNetwork" runat="server" Text="網(wǎng)絡" />
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:CheckBox
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ID="cbOther" runat="server" Text="其它" /></td>
? ? ? ? ? ? ? ? ? <td style="width: 312px"> </td>
? ? ? ? ? ? ? ? </tr>
?? ??? ??? ??? ? <tr>
? ? ? ? ? ? ? ? ? <td align="right" style="width: 97px; height: 27px">主題皮膚:</td>
? ? ? ? ? ? ? ? ? <td align="left" class="style7">
? ? ? ? ? ? ? ? ? ? ? <asp:RadioButtonList ID="rblSkin" runat="server" RepeatDirection="Horizontal">
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:ListItem Selected="True" Value="Blue">藍色天空</asp:ListItem>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:ListItem Value="Green">綠色大地</asp:ListItem>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:ListItem Value="Pink">粉色含蓄</asp:ListItem>
? ? ? ? ? ? ? ? ? ? ? </asp:RadioButtonList></td>
? ? ? ? ? ? ? ? ? <td style="width: 312px; height: 27px;"></td>
? ? ? ? ? ? ? ? </tr>
?? ??? ??? ??? ?
?? ??? ??? ??? ? <tr>
? ? ? ? ? ? ? ? ? <td align="right" class="style3">主要消費領(lǐng)域:</td>
? ? ? ? ? ? ? ? ? <td align="left" class="style4">
? ? ? ? ? ? ? ? ? ? ? <asp:CheckBoxList ID="cblExpenseArea" runat="server" RepeatDirection="Horizontal">
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:ListItem>健身</asp:ListItem>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:ListItem>旅游</asp:ListItem>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:ListItem>書籍</asp:ListItem>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:ListItem>游戲</asp:ListItem>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:ListItem>購物</asp:ListItem>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:ListItem>飲食</asp:ListItem>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:ListItem>其它</asp:ListItem>
? ? ? ? ? ? ? ? ? ? ? </asp:CheckBoxList></td>
? ? ? ? ? ? ? ? ? <td class="style5"></td>
? ? ? ? ? ? ? ? </tr>
?? ??? ??? ??? ??
? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? <td colspan="2" align="center"><label>
? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? </label></td>
? ? ? ? ? ? ? ? ? <td style="width: 312px"> </td>
? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? </table>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ??? ??? ? ?
?? ??? ??? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </asp:WizardStep>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:WizardStep ID="WizardStep4" runat="server" Title="第三步:上傳個人照片">
? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? <table class="box1" width="100%" border="0" cellspacing="0" cellpadding="0">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td width="21%" align="right">選擇個人照片:</td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td width="48%"><label>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <asp:FileUpload ID="fuPhoto" runat="server" ?/>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <img src="Images/1.gif" width="108" height="108" id="ImgPhoto" /></label></td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td width="31%" ><p>* 建議圖像寬度和高度為:</p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <p>108*108</p></td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td colspan="2" align="center"><label>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </label></td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td> </td>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </table>
? ? ? ? ? ? ? ? ? ? ? ? ? </asp:WizardStep>
? ? ? ? ? ? ? ? ? ? ? ? ? <asp:WizardStep ID="WizardStep5" runat="server" Title="完成">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<table class="box1" width="100%" border="0" cellspacing="0" cellpadding="0">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <td align="left">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <asp:BulletedList ID="blSummary" runat="server">
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </asp:BulletedList> ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </td> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </tr>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </table> ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? </asp:WizardStep>
? ? ? ? ? ? ? ? ? ? ? </WizardSteps>
? ? ? ? ? ? ? ? ? </asp:Wizard>
4.3.4會員后臺個人專區(qū)
會員在后臺進行對歌曲的添加、修改、刪除等功能。在添加歌曲時通過本地瀏覽將歌曲上傳到網(wǎng)站,并對歌曲進行分類。如下圖。
圖4.9 后臺管理
?
圖4.10后臺添加歌曲頁面
其具體代碼如下:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
? <tr>
? ? <td class="nav" height="30">上載音樂</td>
? </tr>
? <tr>
? ? <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
? ? ? <tr>
? ? ? ? <td width="1%"> </td>
? ? ? ? <td width="17%" align="right">歌曲名稱:</td>
? ? ? ? <td width="57%">
? ? ? ? ? ? <asp:TextBox ID="txtMusicName" runat="server" CssClass="large"></asp:TextBox></td>
? ? ? ? <td width="25%"> </td>
? ? ? </tr>
? ? ? <tr>
? ? ? ? <td> </td>
? ? ? ? <td align="right">歌手姓名:</td>
? ? ? ? <td>
? ? ? ? ? ? <asp:TextBox ID="txtSinger" runat="server" CssClass="large"></asp:TextBox></td>
? ? ? ? <td> </td>
? ? ? </tr>
? ? ? <tr>
? ? ? ? <td style="height: 40px"> </td>
? ? ? ? <td align="right" style="height: 40px">歌詞內(nèi)容:</td>
? ? ? ? <td style="height: 40px">
? ? ? ? ? <label>
? ? ? ? ? ? ? <asp:TextBox ID="txtContent" runat="server" ?Height="143px" EnableTheming="false"
? ? ? ? ? ? ? ? ? TextMode="MultiLine" Width="310px"></asp:TextBox></label></td>
? ? ? ? <td style="height: 40px"> </td>
? ? ? </tr>
? ? ? <tr>
? ? ? ? <td> </td>
? ? ? ? <td align="right">所屬類別:</td>
? ? ? ? <td><label>
? ? ? ? ? ? <asp:DropDownList ID="ddlMusicCategory" runat="server">
? ? ? ? ? ? </asp:DropDownList>
? ? ? ? </label></td>
? ? ? ? <td> </td>
? ? ? </tr>
? ? ? <tr>
? ? ? ? <td> </td>
? ? ? ? <td align="right">音樂文件:</td>
? ? ? ? <td><label>
? ? ? ? ? ? <asp:FileUpload ID="fuMusicFile" runat="server" /></label></td>
? ? ? ? <td> </td>
? ? ? </tr>
? ? ? <tr>
? ? ? ? <td> </td>
? ? ? ? <td> </td>
? ? ? ? <td><label>
? ? ? ? ? ?
? ? ? ? ? ? <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="上載" />
? ? ? ? ? <input type="reset" name="Submit2" value="清空" />
? ? ? ? ? ? <asp:Label ID="lblMsg" runat="server"></asp:Label></label></td>
? ? ? ? <td> </td>
? ? ? </tr>
? ? ?
圖4.11用戶密碼修改
用戶密碼修改,是本系統(tǒng)在安全的一個重要保障。如果用戶發(fā)覺自己的密碼有被盜竊的情況,可以輸入舊密碼確認,然后更改為其他的密碼!實現(xiàn)主要用到數(shù)據(jù)庫的更新操作。
5 系統(tǒng)測試
5.1 測試方法
1.?? ?首先在IIS里建立虛擬目錄,建個網(wǎng)站;
2.?? ?在瀏覽器上對網(wǎng)站進行瀏覽;
3.?? ?對系統(tǒng)里的各個部分進行測試。
5.2 預期測試結(jié)果
1.?? ?實現(xiàn)會員注冊登錄進行歌曲的試聽、下載、搜索及新歌推薦等功能;
2.?? ?實現(xiàn)后臺管理員對歌曲的添加、刪除、修改等功能。
5.3 測試結(jié)果
1.?? ?能實現(xiàn)會員注冊登錄;
2.?? ?會員能進行歌曲的試聽、下載、搜索及新歌推薦等功能;
3.?? ?并實現(xiàn)了電影的在線收看;
4.?? ?實現(xiàn)了論壇,提供會員在線交流平臺;
5.?? ?實現(xiàn)了后臺管理員對歌曲的添加、修改、刪除及賬號管理等功能。
結(jié) ?論
本項目開發(fā)的過程,是一個學習和進步的過程。這樣的實踐項目對曾經(jīng)學過知識與課程都是一次重要的挑戰(zhàn)和提高。在此期間我查閱了相關(guān)大量的書籍和資料,綜合完成了本次畢業(yè)設(shè)計,實現(xiàn)了歌曲的試聽、下載、搜索及新歌推薦等功能,得到了老師們的認可,自己也很高興。與此同時我更加深入的進一步研究,發(fā)現(xiàn)系統(tǒng)還存在一定的不足。比如下載雖然是實現(xiàn)了,但是還不能夠向世面上大多數(shù)下載軟件那樣支持斷點續(xù)傳。還有就是系統(tǒng)和人一樣,要隨著時代的變化不斷地充實,不斷地完善。本系統(tǒng)的代碼的優(yōu)化程度還不是很高,需要在以后的時間里面進一步的完善。
經(jīng)過這次設(shè)計,我學到很多,也成熟許多,考慮事情的邏輯也沒以前那么簡單了。在這次設(shè)計過程中指導老師和同學都幫助我很多,特別是指導老師,對我們盡心盡責,為我們操了不少心,真的很感激他。
參考文獻
[1].瀚文工作室.Java/Javascript網(wǎng)頁設(shè)計活學活用300問[M].北京:機械工業(yè)出版社. 2005。
[2].風火輪小組.Asp.net建站編程高手指南[M].北京:大恒電子出版社.2002。
[3].石志國,王志良.ASP.net 精解案例教程[M].北京:清華大學出版社/北方交通大學出版社. 2004。
[4].方睿,刁仁宏.網(wǎng)絡數(shù)據(jù)庫原理及應用[M].成都:四川大學出版社.2005。
[5].黃明,梁旭.Asp.net 信息系統(tǒng)設(shè)計與開發(fā)實例[M].北京:機械工業(yè)出版社.2005。
[6].馬凡.Javascript實例應用[M].北京:中國鐵道出版社.2005。
[7].李蟠.Asp高級編程[M].北京:清華大學出版社.2004。
致 ?謝
本文是在老師的熱情關(guān)心和指導下完成的,他淵博的知識和嚴謹?shù)闹螌W作風使我受益匪淺,對順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝!
與此同時特別致謝 老師在課題研究初期給予的幫助,在她的幫助下課題才得以很好的展開,有了一個很好的開端!感謝同學給予的幫助,因為他們的協(xié)助,才得以高效率的完成了系統(tǒng)測試,獲取了珍貴的數(shù)據(jù)資料!
最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝!
總結(jié)
以上是生活随笔為你收集整理的基于asp.net的音乐分享网站的设计与实现(含源文件)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python2与_python2和pyt
- 下一篇: asp.net 报表页面模板_CP:基于