基于asp.net在线音乐播放网站设计

获取项目源文件,学习交流联系Q:1415736481,可指导毕设,课设

 

随着社会的发展时代的前进,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 .NETMusic websiteC#

 

 

目  录

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. 课题背景

随着Internet的快速发展,人们已经进入了信息时代,Web已经对商业、工业、银行、财政、教育、政府、娱乐和信息产业及人们的工作、生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,人们获得信息的来源已经不再只是报纸、电视、广播等传统媒体,一个新的信息传送媒体逐渐被人们所青睐。范围广泛的,复杂的分布式应用正在Web环境中出现。音乐分享网站作为一个新时代传媒的产物,早已超过了国界,使听音乐变的如此便捷,它摒弃了传统听音乐媒体的不足,正在快速向前发展。

    1. 本课题研究的意义

当今时代是一个互联网络告诉发展和发达的时代,本课题的研究意义就在于构造一个网络音乐视听和分享的平台,使人们在纷繁的网络中也能够找到一个休憩的天地。同时也是对四年学习的一个总结和提高。

    1. 本课题研究的方法

本课题的开发采用ASP.NET实现,前期主要运用所学相关知识、查询资料、学习其他优秀管理系统开发方法,结合相关要求写出需求分析;后期,进行本课题的设计与开发。课题的页面主要采用C#语言对数据库进行操作,通过对数据库的查询搜索来实现,对表单以及数据的校验采用java script脚本语言,控制页面的正确显示和对用户类型的权限设计。采用sql数据库,包含几张表,实现整个系统的操作。在整个设计过程中以需求分析为基础,写出系统实现流程及相关问题的实现方法;系统开发完成后,进行调试和运行,做好调试和试运行的相关记录。

  1. 网站开发技术及相关工具
    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 类库,这是一个开发人员用于创建应用程序的综合的、面向对象的类型集合。

      1.  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)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

  1. 需求分析

在数字化的网络环境下,人们希望在忙碌工作后能有闲暇时间听音乐放松一下心情,根据自己的情况听到想听的音乐,而不会再为了能听一首歌翻箱倒柜或者四处奔波找寻;服务企业也希望能给人们提供全面的灵活的服务,同时希望人们能在网站上找到自己喜欢的音乐。所以音乐分享网站正是迎合这一市场需求而开发的,它旨在探索一种以互联网为基础的音乐交流平台。通过这种模式,为网民创造一种享受音乐的环境,使音乐突破时空限制,让音乐更加贴近,充实生活。本课题设计实现了用户在线收听,分享,搜索音乐及提供交流平台等功能,具有操作简便,界面友好等特性。贴近现实需求。

3.1系统主要工作流程图

3.1.1 后台管理模块程序流程

该流程图描述了后台管理员对网站的管理,普通用户可以上传分享音乐,管理员可以对歌曲进行添加,修改,删除。具体的添加功能是通过本地浏览把歌曲上传到网站;修改歌曲信息或者删除点击率低的歌曲等功能。如图3.1所示。

 

音乐分享网站后台首页admin_index.asp

是否为管理员

分享歌曲

修改歌曲

删除歌曲

账号管理admin_pass.asp

前台

 

 
 

 

图3.1 后台管理程序主要流程图

3.1.2 前台管理模块程序流程

本系统设计的初衷是会员可以享受网站的功能,未注册的游客只能浏览网站,不能进行其他操作。因此当用户在进入网站的一开始便会对用户的身份和权限进行验证,反馈不同的页面给不痛的用户而用户,从而实现对权限的划分功能。注册后成为会员,就可在网站上在线视听音乐、分享网站、搜索歌曲、享受专辑的在线视听以及实现分享歌曲等功能。管理员身份除了享有普通会员的权限以外,还可以对歌曲的添加、删除、修改以及上传文件、管理个人资料、修改登陆账号和密码等操作。该流程图描述了音乐分享网站的整个流程,如图3.2所示。

 

 

 

音乐分享网站前台index.asp

用户注册登录

是否为管理员

用户注册页面RegV3.aspx

网站主页

歌曲排行

新歌推荐

原唱歌曲

翻唱歌曲

搜索歌曲

个人专区

图3.2 前台管理程序主要流程图

3.2 系统实现采用环境

  1. 操作系统:Microsoft Windows XP Professional。
  2. 运行环境:IIS。
  3. 数据库系统:SQL Sever 2008。
  4. 开发平台:Microsoft Visual Studio 2010。

3.3 系统功能需求          

音乐分享网站是一个非常实用的网站且并是需要一个过于复杂的工运行环境。课题设计必须符合实际的需要,从目前市场这个情况来看,该系统主要是为了满足音乐爱好者对音乐追求时提供一个更为方便的环境,也为人们闲暇是提供一个休闲的场所,实现音乐、电影的在线试听及收看,同时实现歌曲的分享及歌曲的搜索,会员之间的交流等功能。

  1. 网站设计
    1. 系统主要设计

4.1.1 系统主要功能

  1. 用户注册登录功能:只有登录注册后才能使用本网站功能;
  2. 在线收听:会员能在线收听音乐;
  3. 音乐分享:会员分享自己的音乐;
  4. 网站对歌曲进行分类,使会员根据自己喜爱试听或下载歌曲;
  5. 网站提供新歌推荐和音乐排行榜项目,使会员能第一时间找到热门歌曲;
  6. 搜索功能:会员能通过输入歌手或者歌曲名找到自己想听的音乐;
  7. 管理员对歌曲的添加,修改,删除;
  8. 系统支持多种格式的音乐上传;
  9. 管理员账号管理。

4.1.2主要功能模块

  1. 后台管理模块

该模块只对管理员开放,管理员可以对歌曲进行添加,修改,删除。具体的添加功能是通过浏览把歌曲上传到网站;修改歌曲信息或者删除点击率的歌曲等功能。如图4.1所示。

 

音乐分享网站后台

账号管理

歌曲管理

添加歌曲

修改歌曲

删除歌曲

 

图4.1 后台管理模块

  1. 前台管理模块

该模块用户注册后即成为会员,就可在网站上在线试听音乐,搜索歌曲以及下载歌曲。也可以在论坛上和其他会员进行交流。在线试听主要采用在用户端调用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. 数据库包含的数据表的关系视图:

 

  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

  1. 用户登录信息表 zhuce

该表用于记录用户登录的基本信息,包括用户名(name)、密码(password)及注册时间([date])。其中,name(用户姓名)做为该表的主关键字。如表4.3所示:

 

表4.3zhuce表设计

字段名

数据类型及长度

说明

备注

name

char

用户姓名

主关键字

password

char

用户密码

not null

[date]

datetime

注册时间

not null

  1. 歌曲基本信息表 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%">&nbsp;</td>

                          <td class="style1">&nbsp;</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>&nbsp;</td>

                          <td class="style1">

                              <asp:Button ID="btnLogin" runat="server" OnClick="btnLogin_Click" Text="Login" />&nbsp;</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%">&nbsp;</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%">&nbsp;</td>

            </tr>

                      <tr>

              <td width="9%">&nbsp;</td>

              <td colspan="2" align="left" class="title"><p>歌曲歌词</p></td>

              <td width="12%">&nbsp;</td>

            </tr>

                      <tr>

              <td width="9%">&nbsp;</td>

              <td colspan="2" align="left" valign="top">

                  <asp:Label ID="Label6" runat="server" Text="Label"></asp:Label>

                 </td>

              <td width="12%">&nbsp;</td>

            </tr>

          </table></td>

              </tr>

 

  1. 音乐排行榜

                              图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>

                                      &nbsp;</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>

                                      &nbsp;</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>

                                      &nbsp;</td>

                                </tr>

                                <tr>

                                  <td colspan="2" align="center"><label>

                                      &nbsp;

                                  </label></td>

                                  <td>&nbsp;</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%">&nbsp;</td>

                </tr>

                <tr>

                  <td align="right" style="width: 97px">性别:</td>

                  <td align="left"><label>

                      <asp:RadioButton ID="rbMan" runat="server" Checked="True" Text="男" />

                      &nbsp; &nbsp;

                      <asp:RadioButton ID="rbWoman" runat="server" Text="女" /></label></td>

                  <td style="width: 312px">&nbsp;</td>

                </tr>

                <tr>

                  <td align="right" style="width: 97px">出生日期:</td>

                  <td align="left">

                      &nbsp;<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">&nbsp;</td>

                </tr>

                             <tr>

                  <td align="right" style="width: 97px">通信地址:</td>

                  <td align="left">

                      &nbsp;<asp:TextBox ID="txtAddress" runat="server" Width="206px"></asp:TextBox></td>

                  <td style="width: 312px">&nbsp;</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;">&nbsp;</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">&nbsp;</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;">&nbsp;</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">&nbsp;</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">&nbsp;</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>

                      &nbsp;

                  </label></td>

                  <td style="width: 312px">&nbsp;</td>

                </tr>

              </table>

                              &nbsp; &nbsp;

                      

                      

                             

                              </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>

                                      &nbsp;

                                  </label></td>

                                  <td>&nbsp;</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%">&nbsp;</td>

        <td width="17%" align="right">歌曲名称:</td>

        <td width="57%">

            &nbsp;<asp:TextBox ID="txtMusicName" runat="server" CssClass="large"></asp:TextBox></td>

        <td width="25%">&nbsp;</td>

      </tr>

      <tr>

        <td>&nbsp;</td>

        <td align="right">歌手姓名:</td>

        <td>

            <asp:TextBox ID="txtSinger" runat="server" CssClass="large"></asp:TextBox></td>

        <td>&nbsp;</td>

      </tr>

      <tr>

        <td style="height: 40px">&nbsp;</td>

        <td align="right" style="height: 40px">歌词内容:</td>

        <td style="height: 40px">

          <label>

              &nbsp;<asp:TextBox ID="txtContent" runat="server"  Height="143px" EnableTheming="false"

                  TextMode="MultiLine" Width="310px"></asp:TextBox></label></td>

        <td style="height: 40px">&nbsp;</td>

      </tr>

      <tr>

        <td>&nbsp;</td>

        <td align="right">所属类别:</td>

        <td><label>

            &nbsp;<asp:DropDownList ID="ddlMusicCategory" runat="server">

            </asp:DropDownList>

        </label></td>

        <td>&nbsp;</td>

      </tr>

      <tr>

        <td>&nbsp;</td>

        <td align="right">音乐文件:</td>

        <td><label>

            &nbsp;<asp:FileUpload ID="fuMusicFile" runat="server" /></label></td>

        <td>&nbsp;</td>

      </tr>

      <tr>

        <td>&nbsp;</td>

        <td>&nbsp;</td>

        <td><label>

            &nbsp;

            <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>&nbsp;</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。

 

致  谢

本文是在老师的热情关心和指导下完成的,他渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他表示我最衷心的感谢!

与此同时特别致谢 老师在课题研究初期给予的帮助,在她的帮助下课题才得以很好的展开,有了一个很好的开端!感谢同学给予的帮助,因为他们的协助,才得以高效率的完成了系统测试,获取了珍贵的数据资料!

最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!

  • 21
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
好的,您的问题是关于基于ASP.NET和SQL Server的传统文化网站设计。这是一个很广泛的话题,我可以为您提供一些基本的指导和建议。以下是一些步骤和注意事项: 1. 确定网站的目标和功能 在设计传统文化网站之前,您需要明确网站的目标和功能。例如,您的网站可能旨在向用户介绍中国传统文化,提供教育资源,促进文化交流等。您需要确定这些目标和功能,以便能够为网站设计合适的功能和界面。 2. 确定网站的架构和数据库设计 在设计网站之前,您需要决定网站的架构和数据库设计。ASP.NET提供了多种架构和数据库选项,您需要根据您的需求和预算选择最适合的方案。SQL Server是一种常用的关系型数据库,可以用于存储和管理网站数据。 3. 设计网站的界面和功能 根据您的目标和功能,您需要设计网站的界面和功能。您可以使用ASP.NET提供的控件和模板,或者自己设计和开发自定义控件。您还需要考虑网站的用户体验和易用性,以便用户可以轻松地浏览和使用网站。 4. 开发和测试网站 在完成网站设计之后,您需要开始开发和测试网站。ASP.NET提供了多种工具和技术,可以帮助您开发和测试网站。您需要确保网站的功能和性能符合您的要求,并且能够在不同的浏览器和设备上正常运行。 5. 部署和维护网站 最后,您需要将网站部署到服务器上,并确保网站的安全和稳定性。您需要定期维护和更新网站,以保持网站的性能和安全。 希望这些指导和建议对您有所帮助。如果您有任何其他问题或需要更详细的指导,请随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值