基于asp.net的音乐分享网站的设计与实现(含源文件)
?
歡迎添加微信互相交流學習哦!
項目源碼:https://gitee.com/oklongmm/biye
音樂分享網站的設計與實現
摘 ?要
隨著社會的發展時代的前進,IT行業的發展也是日新月異,對人類的生產和生活方式產生了很大影響。網絡傳播以其特有的快速、高效、便捷的傳輸方式被人們所接受,越來越多的走進了千家萬戶。并且在當今音樂浪潮的影響下,隨著音樂事業逐漸走向高峰,音樂已無處不在,音樂已與我們密不可分。
本文闡述了音樂分享網站的設計與實現,本系統采用Microsoft Visual Studio 2010 作為開發工具。前臺主要實現歌曲的分類顯示及分類查詢、歌曲的在線試聽、會員注冊、登錄以及最新音樂的介紹,并且還為用戶提供了在線分享的平臺等功能;后臺主要用于數據庫的管理,管理員對影視歌曲的添加、刪除、更新及對注冊會員和音樂新聞的管理、系統的維護等功能。本系統操作簡單,界面友好。
關鍵字:ASP.NET;音樂分享網站 ;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?? ?網站開發技術及相關工具?? ?1
2.1?? ?開發語言?? ?1
2.1.1?? ?ASP.NET語言?? ?1
2.1.2?? ?SQL介紹?? ?2
2.2 ? B/S模式介紹?? ?3
3?? ?需求分析?? ?3
3.1 ? 系統主要工作流程圖?? ?4
3.1.1 ?后臺管理模塊程序流程?? ?4
3.1.2 ?前臺管理模塊程序流程?? ?4
3.2 ? 系統實現采用環境?? ?5
3.3 ? 系統功能需求?? ?5
4?? ?音樂分享網站功能的設計與實現?? ?5
4.1?? ?系統主要設計?? ?5
4.1.1 ?系統主要功能?? ?5
4.1.2 ?主要功能模塊?? ?6
4.2 ? 數據庫的分析與設計?? ?7
4.2.1 ?數據庫的需求分析?? ?7
4.2.2 ?數據庫結構設計?? ?7
4.3 ? 系統主要功能實現?? ?10
4.3.1 ?主頁的實現?? ?10
4.3.2 ?歌曲試聽排行頁面?? ?14
4.3.3 ?用戶注冊?? ?17
4.3.4 ?后臺頁面?? ?19
5 系統測試?? ?22
5.1 ? 測試方法?? ?22
5.2 ? 預期測試結果?? ?22
5.3 ? 測試結果?? ?22
結 ? ?論?? ?22
參考文獻?? ?23
致 ? ?謝?? ?24
聲 ? ?明?? ?25?
1?? ?概論
1.1?? ?課題背景
隨著Internet的快速發展,人們已經進入了信息時代,Web已經對商業、工業、銀行、財政、教育、政府、娛樂和信息產業及人們的工作、生活產生了深遠的影響。許多傳統的信息和數據庫系統正在被移植到互聯網上,人們獲得信息的來源已經不再只是報紙、電視、廣播等傳統媒體,一個新的信息傳送媒體逐漸被人們所青睞。范圍廣泛的,復雜的分布式應用正在Web環境中出現。音樂分享網站作為一個新時代傳媒的產物,早已超過了國界,使聽音樂變的如此便捷,它摒棄了傳統聽音樂媒體的不足,正在快速向前發展。
1.2?? ?本課題研究的意義
當今時代是一個互聯網絡告訴發展和發達的時代,本課題的研究意義就在于構造一個網絡音樂視聽和分享的平臺,使人們在紛繁的網絡中也能夠找到一個休憩的天地。同時也是對四年學習的一個總結和提高。
1.3?? ?本課題研究的方法
本課題的開發采用ASP.NET實現,前期主要運用所學相關知識、查詢資料、學習其他優秀管理系統開發方法,結合相關要求寫出需求分析;后期,進行本課題的設計與開發。課題的頁面主要采用C#語言對數據庫進行操作,通過對數據庫的查詢搜索來實現,對表單以及數據的校驗采用java script腳本語言,控制頁面的正確顯示和對用戶類型的權限設計。采用sql數據庫,包含幾張表,實現整個系統的操作。在整個設計過程中以需求分析為基礎,寫出系統實現流程及相關問題的實現方法;系統開發完成后,進行調試和運行,做好調試和試運行的相關記錄。
2?? ?網站開發技術及相關工具
2.1?? ?開發語言
2.1.1?? ? ASP.NET
ASP.NET是ASP的下一代版本,然而ASP.NET又并非從ASP3.0自然演化而來,在許多方面,ASP.NET與ASP有著本質的不同。ASP.NET完全基于模塊與組件,具有更好的可擴展性與可定制性,數據處理方面更是引入了許多激動人心的新技術,正是這些具有革新意義的新特性,讓ASP.NET遠遠超越了ASP,同時也提供給web開發人員更好的靈活性,有效縮短了web應用程序的開發周期。ASP.NET與Windows 2000 Server/Advanced Server的完美組合,為中小型乃至企業級的web商業模型提供了一個更為穩定,高效,安全的運行環境。
ASP.NET 是統一的 Web 應用程序平臺,它提供了為建立和部署企業級 Web 應用程序所必需的服務。ASP.NET 為能夠面向任何瀏覽器或設備的更安全的、更強的可升級性、更穩定的應用程序提供了新的編程模型和基礎結構。
ASP.NET 是 Microsoft .NET Framework 的一部分,是一種可以在高度分布的 Internet 環境中簡化應用程序開發的計算環境。.NET Framework 包含公共語言運行庫,它提供了各種核心服務,如內存管理、線程管理和代碼安全。它也包含 .NET Framework 類庫,這是一個開發人員用于創建應用程序的綜合的、面向對象的類型集合。
。?
2.1.2?? ? SQL介紹
SQL全稱是“結構化查詢語言(Structured Query Language)”。SQL語言結構簡潔,功能強大,簡單易學。 SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。SQL是一種用于數據庫查詢和編程的語言,已經成為關系型數據庫普遍使用的標準,使用這種標準數據庫語言對程序設計和數據庫的維護都帶來了極大的方便,廣泛地應用于各種數據查詢。他不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統可以使用相同的SQL語言作為數據輸入與管理的接口。它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。SQL同時也是數據庫文件格式的擴展名。
數據庫,顧名思義,是存入數據的倉庫。只不過這個倉庫是在計算機存儲設備上的,而且數據是按一定格式存放的。 要是下定義的話,就應該是:指長期儲存在計算機內的、有組織的、可共享的數據集合。數據庫管理是有關建立、存儲、修改和存取數據庫中信息的技術,是指為保證數據庫系統的正常運行和服務質量,有關人員須進行的技術管理工作。數據庫管理的主要內容有:數據庫的建立、數據庫的調整、數據庫的重組、數據庫的重構、數據庫的安全控制、數據的完整性控制和對用戶提供技術支持。?
介于SQL的優點,本系統采用SQL Server2008,作為數據庫工具。
2.2 B/S模式介紹
B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現。這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術看,局域網建立B/S結構的網絡應用,并通過Internet/Intranet模式下數據庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發,能實現不同的人員,從不同的地點,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數據庫;它能有效地保護數據平臺和管理訪問權限,服務器數據庫也很安全 。特別是在JAVA這樣的跨平臺語言出現之后,B/S架構管理軟件更是方便、快捷、高效。
目前,軟件系統的改進和升級越來越頻繁,B/S架構的產品明顯體現著更為方便的特性。對一個稍微大一點單位來說,系統管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構的軟件只需要管理服務器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。無論用戶的規模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行;如果是異地,只需要把服務器連接專網即可,實現遠程維護、升級和共享。所以客戶機越來越“瘦”,而服務器越來越“胖”是將來信息化發展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務器。
由于B/S架構管理軟件只安裝在服務器端(Server)上,網絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW瀏覽器實現,極少部分事務邏輯在前端(Browser)實現,所有的客戶端只有瀏覽器,網絡管理人員只需要做硬件維護。但是,應用服務器運行數據負荷較重,一旦發生服務器“崩潰”等問題,后果不堪設想。因此,許多單位都備有數據庫存儲服務器,以防萬一。
3?? ?需求分析
在數字化的網絡環境下,人們希望在忙碌工作后能有閑暇時間聽音樂放松一下心情,根據自己的情況聽到想聽的音樂,而不會再為了能聽一首歌翻箱倒柜或者四處奔波找尋;服務企業也希望能給人們提供全面的靈活的服務,同時希望人們能在網站上找到自己喜歡的音樂。所以音樂分享網站正是迎合這一市場需求而開發的,它旨在探索一種以互聯網為基礎的音樂交流平臺。通過這種模式,為網民創造一種享受音樂的環境,使音樂突破時空限制,讓音樂更加貼近,充實生活。本課題設計實現了用戶在線收聽,分享,搜索音樂及提供交流平臺等功能,具有操作簡便,界面友好等特性。貼近現實需求。
3.1系統主要工作流程圖
3.1.1 后臺管理模塊程序流程
該流程圖描述了后臺管理員對網站的管理,普通用戶可以上傳分享音樂,管理員可以對歌曲進行添加,修改,刪除。具體的添加功能是通過本地瀏覽把歌曲上傳到網站;修改歌曲信息或者刪除點擊率低的歌曲等功能。如圖3.1所示。
圖3.1 后臺管理程序主要流程圖
3.1.2 前臺管理模塊程序流程
本系統設計的初衷是會員可以享受網站的功能,未注冊的游客只能瀏覽網站,不能進行其他操作。因此當用戶在進入網站的一開始便會對用戶的身份和權限進行驗證,反饋不同的頁面給不痛的用戶而用戶,從而實現對權限的劃分功能。注冊后成為會員,就可在網站上在線視聽音樂、分享網站、搜索歌曲、享受專輯的在線視聽以及實現分享歌曲等功能。管理員身份除了享有普通會員的權限以外,還可以對歌曲的添加、刪除、修改以及上傳文件、管理個人資料、修改登陸賬號和密碼等操作。該流程圖描述了音樂分享網站的整個流程,如圖3.2所示。
?
圖3.2 前臺管理程序主要流程圖
3.2 系統實現采用環境
1.?? ?操作系統:Microsoft Windows XP Professional。
2.?? ?運行環境:IIS。
3.?? ?數據庫系統:SQL Sever 2008。
4.?? ?開發平臺:Microsoft Visual Studio 2010。
3.3 系統功能需求?? ?
音樂分享網站是一個非常實用的網站且并是需要一個過于復雜的工運行環境。課題設計必須符合實際的需要,從目前市場這個情況來看,該系統主要是為了滿足音樂愛好者對音樂追求時提供一個更為方便的環境,也為人們閑暇是提供一個休閑的場所,實現音樂、電影的在線試聽及收看,同時實現歌曲的分享及歌曲的搜索,會員之間的交流等功能。
4?? ?網站設計
4.1?? ?系統主要設計
4.1.1 系統主要功能
1.?? ?用戶注冊登錄功能:只有登錄注冊后才能使用本網站功能;
2.?? ?在線收聽:會員能在線收聽音樂;
3.?? ?音樂分享:會員分享自己的音樂;
4.?? ?網站對歌曲進行分類,使會員根據自己喜愛試聽或下載歌曲;
5.?? ?網站提供新歌推薦和音樂排行榜項目,使會員能第一時間找到熱門歌曲;
6.?? ?搜索功能:會員能通過輸入歌手或者歌曲名找到自己想聽的音樂;
7.?? ?管理員對歌曲的添加,修改,刪除;
8.?? ?系統支持多種格式的音樂上傳;
9.?? ?管理員賬號管理。
4.1.2主要功能模塊
1.?? ?后臺管理模塊
該模塊只對管理員開放,管理員可以對歌曲進行添加,修改,刪除。具體的添加功能是通過瀏覽把歌曲上傳到網站;修改歌曲信息或者刪除點擊率的歌曲等功能。如圖4.1所示。
?
圖4.1 后臺管理模塊
2.?? ?前臺管理模塊
該模塊用戶注冊后即成為會員,就可在網站上在線試聽音樂,搜索歌曲以及下載歌曲。也可以在論壇上和其他會員進行交流。在線試聽主要采用在用戶端調用windows默認播放器media player從服務器數據庫查詢播放歌曲的路徑,賦予播放器來實現的.而下載的功能是利用stream組件的讀寫操作,從服務器端打開并讀取文件向瀏覽器端的stream寫入數據,用戶端再保存文件到本地計算機來實現的.搜索功能,主要采取的三模糊查詢和精確查詢兩種.在搜索歌手的時候三用的精確查詢,換句話說就是必須要正確輸入想要查詢的歌手的名字才能夠查詢到相應的歌曲,而對歌曲名稱的搜索三模糊查詢,用戶可以輸入相關的字段便可以從數據庫里面找到相近或相似的歌曲.音樂論壇用到的計算就相對較簡單一點,主要是對數據庫執行插入、更新和查詢的操作。詳細模塊的介紹如圖4.2所示。
? ?
圖4.2 前臺管理模塊圖
4.2數據庫的分析與設計
4.2.1數據庫的需求分析 ? ?
本課題開發的數據庫包括三個方面。
1.?? ?論壇信息數據表:存儲論壇有關數據及論壇留言,即論壇基本參數信息數據、論壇留言主題信息數據表。
2.?? ?歌曲數據表:存儲歌曲基本參數信息,包括歌曲單曲存儲表及歌曲專集存儲表。
3.?? ?用戶數據表:存儲注冊用戶有關數據,包括注冊用戶信息數據表、用戶登錄賬號管理存儲表。
4.2.2數據庫結構設計
本課題使用SQL Sever 2008作為數據庫管理系統,現將數據庫中包含的數據表及相應功能如下表4.1所示:
表4.1 數據庫包含的數據庫表及其功能
數據表?? ?功能
BBS?? ?存放用戶論壇留言基本信息
information?? ?存放歌曲的基本信息
movie?? ?存放電影的基本信息
vip?? ?存放用戶注冊基本信息
zhuanji?? ?存放歌曲專集信息
zhuce?? ?存放用戶登錄的基本信息
??? ?數據庫包含的數據表的關系視圖:
1.?? ?注冊用戶信息表vip
注冊用戶信息表用于存放注冊用戶的基本信息,包括用戶名(name)、個人密碼(pass)、郵箱地址(mail)、用戶性別(sex)、注冊時間(date)、用戶類型(admin)。其中,name(用戶姓名)字段作為該表的主關鍵字(primary key)。如表4.2所示:
表4.2 vip表設計
字段名?? ?數據類型及長度?? ?說明?? ?備注
name?? ?char(100)?? ?用戶姓名?? ?主關鍵字
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(用戶姓名)做為該表的主關鍵字。如表4.3所示:
表4.3zhuce表設計
字段名?? ?數據類型及長度?? ?說明?? ?備注
name?? ?char?? ?用戶姓名?? ?主關鍵字
password?? ?char?? ?用戶密碼?? ?not null
[date]?? ?datetime?? ?注冊時間?? ?not null
3.?? ?歌曲基本信息表 information
該表存放歌曲的基本信息,包括歌曲ID(id)、歌手名字(singer)、歌曲名(song)、歌曲類型(type)、新歌推薦(class)、歌曲介紹(introduce)、點擊率(hit)、歌曲URL(url)。其中id字段作為該表的主關鍵字,標識為“是”,標識種子為“1”,標識增量為“1”,惟一標識了一個歌曲基本信息。如表4.4所示:
表4.4 information表設計
字段名?? ?數據類型及長度?? ?說明?? ?備注
id?? ?int(4)?? ?歌曲ID?? ?主關鍵字
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為主關鍵字。如下表所示:
表4.5 movie表設計
字段名?? ?數據類型及長度?? ?說明?? ?備注
id?? ?int(4)?? ?電影ID?? ?主關鍵字
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為主關鍵字。如下4.6表所示:
表4.6zhuanji表設計
字段名?? ?數據類型及長度?? ?說明?? ?備注
id?? ?int(4)?? ?專集ID?? ?主關鍵字
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.?? ?論壇數據信息表BBS
該表存放論壇留言功能具體信息。包括論壇ID(id)、用戶名(username)、留言(message)和留言時間([date])。其中論壇ID為主關鍵字。
表4.7 BBS表設計
字段名?? ?數據類型及長度?? ?說明?? ?備注
id?? ?int(4)?? ?論壇ID?? ?主關鍵字
username?? ?char(50)?? ?用戶名?? ?null
message?? ?varchar(5000)?? ?留言?? ?null
[date]?? ?int(8)?? ?留言時間?? ?not null
4.3系統主要功能實現
4.3.1網站主頁的實現
用戶注冊后登錄網站,便進入主頁,即可在首頁上點相應導航鏈接,進行所需操作。未經注冊的會員也能登錄主頁,但不能進行試聽歌曲等其他操作。
主頁是通過對其他頁面進行鏈接實現的,本系統還實現各種分類功能,如:流行歌曲、原創歌曲、翻唱歌曲、音樂排行榜、新歌推薦等,還提供搜索功能,根據歌曲或歌手來實現搜索功能,主頁頁面如下圖所示。
?
圖4.4登錄頁面
登錄功能的實現我們采用第一個表單頁面讓用戶輸入自己的會員賬號和密碼,然后發送到login.aspx頁面上查詢數據庫中保存的賬號和密碼進行身份驗證,因為每一個用戶登錄系統都會自動分配一個session,所以我們把驗證后的信息存儲到session里面,方便后續頁面的調用和認證:
?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音樂欣賞
會員根據喜好選擇歌曲,點擊即可在線試聽歌曲。在線視聽功能采取的原理是在頁面上嵌入一個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>點播次數:</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 歌曲排行榜
音樂排行是本系統的最關鍵的模塊,我們根據用戶的收聽情況運行排行。代碼如下:
?<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="欣賞次數" />
? ? ? ? ? ? ? ? ? ? ? <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="*請填寫姓名"></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="網絡" />
? ? ? ? ? ? ? ? ? ? ? ? ? <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">主要消費領域:</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會員后臺個人專區
會員在后臺進行對歌曲的添加、修改、刪除等功能。在添加歌曲時通過本地瀏覽將歌曲上傳到網站,并對歌曲進行分類。如下圖。
圖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">歌詞內容:</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用戶密碼修改
用戶密碼修改,是本系統在安全的一個重要保障。如果用戶發覺自己的密碼有被盜竊的情況,可以輸入舊密碼確認,然后更改為其他的密碼!實現主要用到數據庫的更新操作。
5 系統測試
5.1 測試方法
1.?? ?首先在IIS里建立虛擬目錄,建個網站;
2.?? ?在瀏覽器上對網站進行瀏覽;
3.?? ?對系統里的各個部分進行測試。
5.2 預期測試結果
1.?? ?實現會員注冊登錄進行歌曲的試聽、下載、搜索及新歌推薦等功能;
2.?? ?實現后臺管理員對歌曲的添加、刪除、修改等功能。
5.3 測試結果
1.?? ?能實現會員注冊登錄;
2.?? ?會員能進行歌曲的試聽、下載、搜索及新歌推薦等功能;
3.?? ?并實現了電影的在線收看;
4.?? ?實現了論壇,提供會員在線交流平臺;
5.?? ?實現了后臺管理員對歌曲的添加、修改、刪除及賬號管理等功能。
結 ?論
本項目開發的過程,是一個學習和進步的過程。這樣的實踐項目對曾經學過知識與課程都是一次重要的挑戰和提高。在此期間我查閱了相關大量的書籍和資料,綜合完成了本次畢業設計,實現了歌曲的試聽、下載、搜索及新歌推薦等功能,得到了老師們的認可,自己也很高興。與此同時我更加深入的進一步研究,發現系統還存在一定的不足。比如下載雖然是實現了,但是還不能夠向世面上大多數下載軟件那樣支持斷點續傳。還有就是系統和人一樣,要隨著時代的變化不斷地充實,不斷地完善。本系統的代碼的優化程度還不是很高,需要在以后的時間里面進一步的完善。
經過這次設計,我學到很多,也成熟許多,考慮事情的邏輯也沒以前那么簡單了。在這次設計過程中指導老師和同學都幫助我很多,特別是指導老師,對我們盡心盡責,為我們操了不少心,真的很感激他。
參考文獻
[1].瀚文工作室.Java/Javascript網頁設計活學活用300問[M].北京:機械工業出版社. 2005。
[2].風火輪小組.Asp.net建站編程高手指南[M].北京:大恒電子出版社.2002。
[3].石志國,王志良.ASP.net 精解案例教程[M].北京:清華大學出版社/北方交通大學出版社. 2004。
[4].方睿,刁仁宏.網絡數據庫原理及應用[M].成都:四川大學出版社.2005。
[5].黃明,梁旭.Asp.net 信息系統設計與開發實例[M].北京:機械工業出版社.2005。
[6].馬凡.Javascript實例應用[M].北京:中國鐵道出版社.2005。
[7].李蟠.Asp高級編程[M].北京:清華大學出版社.2004。
致 ?謝
本文是在老師的熱情關心和指導下完成的,他淵博的知識和嚴謹的治學作風使我受益匪淺,對順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝!
與此同時特別致謝 老師在課題研究初期給予的幫助,在她的幫助下課題才得以很好的展開,有了一個很好的開端!感謝同學給予的幫助,因為他們的協助,才得以高效率的完成了系統測試,獲取了珍貴的數據資料!
最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝!
總結
以上是生活随笔為你收集整理的基于asp.net的音乐分享网站的设计与实现(含源文件)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python2与_python2和pyt
- 下一篇: 表单元素聚焦状态回车提交表单问题小记