首页 音乐类别管理功能模块设计

音乐类别管理功能模块设计

举报
开通vip

音乐类别管理功能模块设计音乐类别管理功能模块设计 摘 要 随着互联网的发展,越来越多的音乐网受到人们的喜爱。人们可以通过各种音乐网实现在线试听歌曲,下载歌曲,根据需要搜索喜爱的歌曲。还可以把自己喜欢的歌曲收藏起来。目前大多数的音乐网站,都提供在线试听,音乐下载,在线交流,音乐收藏等功能。经过对音乐网的分析,本次毕业设计设计了一个能够满足音乐爱好者基本需求的ASP.NET音乐网。该设计是采用ASP.NET技术和SQL SERVER 数据库设计实现。该网站的主要功能是实现了前台音乐的浏览、下载、收藏、用户注册、登录,音乐试听、留言等功能。...

音乐类别管理功能模块设计
音乐类别管理功能模块设计 摘 要 随着互联网的发展,越来越多的音乐网受到人们的喜爱。人们可以通过各种音乐网实现在线试听歌曲,下载歌曲,根据需要搜索喜爱的歌曲。还可以把自己喜欢的歌曲收藏起来。目前大多数的音乐网站,都提供在线试听,音乐下载,在线交流,音乐收藏等功能。经过对音乐网的 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 ,本次毕业设计设计了一个能够满足音乐爱好者基本需求的ASP.NET音乐网。该设计是采用ASP.NET技术和SQL SERVER 数据库设计实现。该网站的主要功能是实现了前台音乐的浏览、下载、收藏、用户注册、登录,音乐试听、留言等功能。网站后台实现了音乐管理、用户管理、留言管理、音乐类别管理等功能。 关键词:音乐网、ASP.NET、SQL Server 2005 1 ABSTRACT With the development of Internet, more and more music popular. People through various music online audition song, song downloads, according to the need to search for my favorite songs. Also their love song collection. Most of the music site, offers online audition, music downloads, online communication, music collections and other functions. After the music network analysis, the graduation design to design a meet the basic needs of music lovers ASP.NET music network. This design is the use of ASP.NET technology and SQL SERVER database design and implementation. The site of the main function is to achieve the foreground music browsing, download, collection, user registration, login, music, messages and other functions. The background of the website realizes the music management, user management, message management, music category management and other functions. Keywords: The music、ASP.NET、SQL Server 2005 2 目 录 第一章 绪 论................................................................................................................ 4 第二章 系统环境分析.................................................................................................. 5 2.1 ASP.NET相关知识简介 ............................................................................... 5 2.2 ASP.NET与ASP........................................................................................... 7 2.2.1 ASP.NET的优势 ................................................................................. 8 2.2.2 ASP.NET的改进 ................................................................................. 8 2.2.3 ASP.NET支持各种浏览器 ................................................................. 8 2.2.4 ASP.NET的更新 ................................................................................. 9 第三章 需求分析及整体设计.................................................................................... 10 3.1 功能需求........................................................................................................ 10 3.2 系统使用者权限............................................................................................ 10 3.2.1 系统管理员.......................................................................................... 10 3.3 网站功能模块图............................................................................................ 10 第四章 数据库设计.................................................................................................... 12 第五章 详细设计及功能实现.................................................................................... 15 5.1 前台功能模块介绍........................................................................................ 15 5.2 登录注册界面设计........................................................................................ 15 5.3 前台主界面设计............................................................................................ 19 5.4 留言功能模块设计........................................................................................ 26 5.6 后台功能模块介绍........................................................................................ 30 5.7 用户管理功能设计........................................................................................ 31 5.8 音乐类别管理功能模块设计........................................................................ 35 5.9 留言管理功能模块设计................................................................................ 38 结 论............................................................................................................................ 40 参考文献...................................................................................................................... 41 致 谢............................................................................................................................ 42 3 第一章 绪 论 随着互联网的发展,越来越多的音乐网受到人们的喜爱。人们可以通过各种音乐网实现在线试听歌曲,下载歌曲,根据需要搜索喜爱的歌曲。还可以把自己喜欢的歌曲收藏起来。目前大多数的音乐网站,都提供在线试听,音乐下载,在线交流,音乐收藏等功能。经过对音乐网的分析,本次毕业设计设计了一个能够满足音乐爱好者基本需求的ASP.NET音乐网。该设计是采用ASP.NET技术和SQL SERVER 数据库设计实现。该网站的主要功能是实现了前台音乐的浏览、下载、收藏、用户注册、登录,音乐试听、留言等功能。网站后台实现了音乐管理、用户管理、留言管理、音乐类别管理等功能。虽然该网站的功能还不够强大,还需要进一步的完善。但是音乐网的基本功能都以实现,能够满足一般用户的需要。 4 第二章 系统环境分析 2.1 ASP.NET相关知识简介 ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括Visual Basic、.NET、C#和JScript.NET)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NET框架,首先为了对.NET开发框架有一个整体的认识,请参阅图2.1所示: 图2.1 Visual Studio.NET开发框架示意图 ASP.NET可以协调地 WYSIWYG HTML编辑器和其他编程工具(包括 Microsoft Visual Studio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以将服务器控件拖到Web页用来GUI和完全集成的调试支持。 .NET框架包含两个用于访问企业数据库的数据提供程序:OLE DB .NET数据提供程序和SQL Server.NET数据提供程序。本系统是使用SQL Server.NET数据提供程序来访问SQL Server。具体访问过程大致为: , 用SqlConnection类创建一个数据库连接; , 使用SqlDataAdapter类从数据库中选择一组记录; , 使用SqlDataAdapter类填充新的DataSet; 5 如果您正在从数据库中选择仅用于非交互显示的数据,为了获得最佳性能,建议使用只读、只进的SqlDataReader(或对于非SQL数据库使用OleDbDataReader)。当使用SqlDataReader时,请使用SqlCommand查询选择记录,并创建一个从SqlCommand对象的ExecuteReader方法返回的SqlDataReader,在某些情况下(例如当需要对一组数据进行排序或筛选时),也可能需要基于DataSet为所需表创建一个新的DataView。将服务器控件(如DataGrid)绑定到DataSet、SqlDataReader或DataView。 .NET框架包含三个便于显示大量数据的控件:Repeater控件、DataList控件和DataGrid控件。这三个控件都使用相似的数据绑定过程。 ASP.NET提供一种简单的模型,该模型使Web开发人员能够编写在应用程序级运行的逻辑。开发人员可以在Global.asax文本文件或在作为程序集部署的已编译的类中编写这种代码。这种逻辑可以包括应用程序级事件,但开发人员可以轻松地扩展这种模型,以适应Web应用程序的需要。Global.asax文件是一个可选的包含响应应用程序级事件的文件,运行时Global.asax文件被ASP.NET自动地解析并动态编译成为自Http Application派生的动态.NET框架类,当位于application名字空间内的任意资源或URL被首次访问时它被创建。Global.asax被自动配置为禁止直接通过URL访问,这样外部使用者就不可能下载或查看到Global.asax文件的代码;并且Global.asax文件是可选的,如果没有定义Global.asax文件,ASP.NET将不打算处理任何Application或Session事件。 当改变一个正在运行的ASP.NET Web应用的Global.asax文件时ASP.NET将检测到这种改变,并向任何收听者发送 Application_OnEnd事件,然后重新启动Web应用程序,关闭并清空所有的浏览器Session。当下一个对Web应用程序的请求到来时,Global.asax将重新解释和编译,并且触发Application_OnStart事件。 ASP.NET提供易用的应用程序和会话状态功能,它们对于ASP开发人员来说是熟悉的,且容易与所有其他.NET框架API兼容。关于Application和Session对象的详细介绍如下: 可以通过Application状态,在不同的Web窗体中共享一些全局的应用程序信息,并且支持对用户同时访问。应用Application状态时,以下几点对应用 6 Application状态很重要。 使用Application状态后,内存将被存储的变量一直占用,直到这个变量被清除后或重新赋值,不像单独的Web页面,在单独的Web页面中,所有的资源在客户的请求结束后就自动被清除了。所以记住,不要在Application状态中储存超过10M的数据,尽管可以这么做,但这并不是合理使用资源的方法。储存在Application状态中的信息可以被多个线程同时访问,为了避免发生问题,要时刻注意多线程问题,避免发生死锁。当一个全局的公用Application状态可以被客户修改时,注意使用Lock和Unlock方法保护数据。 Application状态信息不能在Web农场(位于不同Server上的不同Web应用程序)或Web花园(位于相同Server上的不同Web应用程序)范围内共享。只有在一个Web应用程序中的不同Web窗体里才能被共享和访问。 HTTP 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 是无状态协议这意味着无法判断一系列的客户请求是否来自相同的客户。ASP.NET的Session状态提供这样一种能力,自动地判别来自相同客户端的请求,并将客户端看成是逻辑上位于Server的对象。在客户端浏览器经过一定的时间没有再来访问Web应用程序时,自动清除Session对象,释放此Session状态所有保存信息所占用的资源。 2.2 ASP.NET与ASP ASP.NET不是ASP((Active Serve Pages))的简单升级,而是微软公司的新的体系(.NET)的一部分,其中全新的技术架构会让每个人的编程生活变得更简单。ASP.NET是在抓住ASP的最大优点并全力使其扩大化的基础上开发出来的,并且同时也修复了许多ASP运行时会发生的错误。 那么ASP.NET对于ASP来说有什么突破呢,首先,运行机制不同。ASP属于一种解释型的编程框架,它的核心是VBScript和JScript,受这两种脚本语言的限制,决定了ASP先天不足,它无法进行像传统编程语言那样的底层操作,所以如果需要进行一些如socket、文件等的操作时不得不借助其他传统编程语言如C++、VB、Java等编写的组件,并且由于它是解释执行的,所以在运行效率上大打折扣。而ASP.NET是一种编译型的编程框架,它的核心是NGWS runtime,可以用VB和C#来编写,这就决定了它功能的强大,可以进行很多底层操作而不必借助于其他编程语言。另外由于它是编译后执行的,所以执行效率要比ASP 7 高得多。以下几点可使大家对ASP.NET和ASP有一个更全面的了解。 2.2.1 ASP.NET的优势 ASP.NET使代码更加干净。现有的ASP应用程序结构总是充满了长长短短的代码。而ASP.NET的代码不仅更容易编写,而且更加干净整洁,比ASP更易于阅读。同时,ASP.NET代码的结构方式提高了其再利用性和共享性。 ASP能使用非结构语言编写,如VBScript和JScript(如果用其他语言还需要单独的解释器)。而且当ASP在第一次执行时,它解释并在cache中存储这些代码,这样的局限性就是不允许其他结构性语言(如VB和C++)的使用,从而限制了它们的优越性。而ASP.NET真正提供了中层语言执行结构,允许各种语言的使用。虽然使用HTML文本,对象混合的ASP很容易建立一个大型的页面,但是很难重复利用这些代码,除非把一些代码放在一个include文件中,这也不是最好的解决方法。但是ASP.NET真正允许了单独的代码与内容共存。另外,在ASP中必须为几乎每件事情编写代码。如今在ASP.NET中引用了一种真正的组件模式,通过这种服务器端的控件以及事件触发,感觉就好像是在操作VB中的FORM。这种ASP.NET中的新组件控制是宣告性质的,因此实际上只需写很少的代码,甚至完全不用写任何的代码。 2.2.2 ASP.NET的改进 对于简单的ASP应用程序,配置其实并不算什么问题,但是如果要移植到一个利用组件的N层结中时往往会遇到问题。而当对这些应用程序进行配置和维护时,DDL陷阱问题(组件注册、版本、锁定的DDL)就会出现。ASP.NET中则取消了组件注册以及DDL锁定,全面使用了XML配置文件,从而解决了这个问题。这样只需要执行简单的复制文件的工作就能配置一个Web应用程序。 2.2.3 ASP.NET支持各种浏览器 对于ASP开发人员来说,浏览器兼容问题本来就是一个永恒的问题,对于Web程序员来说最大的挑战就是不断变化的浏览器的兼容性以及它们不断升级的复杂性。在保证能在所有浏览器下工作的同时,又得尽量地使用每个浏览器最新属性来建立更加具有交互式的页面,这对于ASP来说,要实现这个目的很难。 8 ASP.NET引入了一个新的服务控制的概念,它封装了一些普通的任务,提供了一种清晰的编程模块,从而完成了帮助管理处理不同的用户类型的任务,动态地对不同的用户生成不同的输出,解决了浏览器兼容性问题。 2.2.4 ASP.NET的更新 目前的Web应用程序通常都是同一种模式:一套线性应用程序,然后将逻辑植入其中之一。ASP.NET允许开发人员打破这种单一模式,创造出更加动态而且伸缩性更强的应用程序,这种应用程序能够更好地满足公司的商业需求,并提供一个更加丰富的开发环境。 总之用ASP.NET进行开发要简单的多。它提供稳定的性能、优秀的升级性、更快速更简便的开发和管理方式、全新的语言及网络服务。在开发Web应用中更加易于写出结构清晰的代码,而且代码易于重用和共享,还可编译类语言编写等,极大满足了计算向Web转移的战略方向的需要,为程序员提供了更多新的开发机会。作为微软公司开创新局面的战略产品,在使用ASP.NET时,只需将精力集中在如何完善项目的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 上,而不用将精力再放在建立基础结构上了。因为ASP.NET已经做好了充分的基础架构,大部分不重要的工作也将由系统帮助完成,当然也可以自己处理或者不按系统的默认方式来处理。 9 第三章 需求分析及整体设计 3.1 功能需求 本网站主要是通过运用ASP.NET和SQL Server技术实现ASP.MET音乐网的整体设计,本网站的主要实现以下功能: 1. 网站用户:主要执行页面浏览、注册登录、歌曲下载、歌曲收藏、在线试听、留言交流。 2. 管理员:音乐管理、用户管理、类别管理、新闻管理、管理员管理、留言管理。 3.2 系统使用者权限 3.2.1 系统管理员 统管理员通过管理员登录页面,在输入帐号、密码后,经系统验证正确后可进入系统管理界面。系统管理员便可管理用户信息、音乐信息、类别信息、新闻信息、留言信息;系统管理员也可进入系统管理员密码修改页面,修改自己的密码。 3.3 网站功能模块图 ASP.MET音乐网分为管理员和网站用户模块。 ASP.MET音乐网功能模块如下图3.1所示: 10 ASP.MET音乐网 后台模块 前台模块 留注浏试下收用音新类 言册览听载藏户乐闻别 管登音音音音管管管管 理 理 录 乐 乐 乐 乐 理 理 理 图3.1 系统功能模块图 11 第四章 数据库设计 经过对本网站的功能分析,根据具体的需要,该网站利用SQL Server 2005 设计了管理员信息表、类别信息表、音乐信息表、收藏信息表、用户信息表、新闻信息表、留言信息表、回复信息表。各个别的具体字段及详细设计如下: 表名:tb_admin 管理员信息表 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许默认值 说明 空 1 id int 4 0 是 是 否 2 user nvarchar 50 0 是 3 pwd nvarchar 50 0 是 表名:tb_boardInfo 留言信息表 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许默认值 说明 空 1 id int 4 0 是 是 否 2 title nvarchar 50 0 是 留言标 题 3 content nvarchar 0 0 是 留言内 容 4 user nvarchar 50 0 是 留言人 帐号 5 date datetime 8 3 是 getdate 时间 表名:tb_feedbackInfo 回复信息表 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许默认值 说明 空 1 id int 4 0 是 是 否 2 bid int 4 0 是 留言 id 3 content nvarchar 0 0 是 回复 内容 4 date datetime 8 3 是 getdate 回复 时间 5 adminuser nvarchar 50 0 是 管理 12 员帐 号 表名:tb_musicCollect 收藏信息表 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许默认说明 空 值 1 id int 4 0 是 是 否 2 musicType int 4 0 是 3 specialName nvarchar 50 0 是 4 musicName nvarchar 50 0 是 5 musicPath nvarchar 50 0 是 7 singerName nvarchar 50 0 是 8 auditionSum nvarchar 50 0 是 9 downSum nvarchar 50 0 是 10 fileSize nvarchar 50 0 是 11 user nvarchar 50 0 是 表名:tb_musicInfo 音乐信息表 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许默认说明 空 值 1 id int 4 0 是 否 编号 2 musicType int 4 0 是 歌曲 类型 3 specialName nvarchar 50 0 是 专辑 名称 4 musicName nvarchar 50 0 是 歌曲 名称 5 musicPath nvarchar 50 0 是 歌曲 路径 7 singerName nvarchar 50 0 是 歌手 姓名 8 auditionSum int 4 0 是 0 试听 次数 9 downSum int 4 0 是 0 下载 次数 10 fileSize nvarchar 50 0 是 文件 大小 11 recom nvarchar 50 0 是 13 表名:tb_musicNews 音乐新闻表 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许默认值 说明 空 1 id int 4 0 是 是 否 编号 2 title nvarchar 50 0 是 标题 3 content nvarchar 0 0 是 内容 4 date datetime 8 3 是 getdate 时间 表名:tb_musicType 音乐类别表 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许默认说明 空 值 1 id int 4 0 是 是 否 2 musictype nvarchar 50 0 是 表名:tb_userInfo 用户信息表 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许默认值 说明 空 1 id int 4 0 是 是 否 2 user nvarchar 50 0 是 帐号 3 pwd nvarchar 50 0 是 密码 14 第五章 详细设计及功能实现 本网站主要是通过网络平台,运用ASP.NET和SQL Server技术实现ASP.NET音乐网的基本功能。该网站设计主要分为前台功能模块,和后台功能模块。前台主要是针对广大音乐用户,后台主要是管理员对整个网站进行管理。 5.1 前台功能模块介绍 前台用户主要针对广大音乐需求用户。网站用户未在该网站进行注册登录的时,只能在该网站浏览相关信息,不能进行其他操作。如果用户想要在该网站留言、收藏歌曲,必须先进行注册登录。 5.2 登录注册界面设计 用户在进行相关权限执行之前,必须在网站上进行注册,注册登录成功之后,网站系统根据用户的登录,进行相关页面的跳转,然后用户可以执行相关权限。登录注册页面设计效果如下: 图 5.1 用户注册界面 功能代码: //判断GridView控件中是否拥有选择的复选框 protected bool isCheck( GridView gv ) 15 { bool c = false; //遍历GridView控件 foreach (GridViewRow gvr in gv.Rows) { //判断复选框状态是否选中 if (((CheckBox)gvr.FindControl("CheckBox1")).Checked) { c = true; break; } } return c; } protected void Button1_Click(object sender, EventArgs e) { if (!DB.isExists("select * from tb_userInfo where [user]='" + txt_name.Text.ToString().Trim() + "'")) { string pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(txt_pwd.Text.Trim(), "SHA1"); DB.ExecuteSql("insert into tb_userInfo([user],[pwd])values('" + txt_name.Text.ToString().Trim() + "','" + pwd + "')"); Common.ShowMessage(Page, "注册成功~", ""); } else { Common.ShowMessage(Page, "用户已存在~", ""); } 16 } 图 5.2 用户登录界面 功能代码: //判断GridView控件中是否拥有选择的复选框 protected bool isCheck( GridView gv ) { bool c = false; //遍历GridView控件 foreach (GridViewRow gvr in gv.Rows) { //判断复选框状态是否选中 if (((CheckBox)gvr.FindControl("CheckBox1")).Checked) { c = true; break; } } 17 return c; } protected void Button1_Click(object sender, EventArgs e) { string pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(txt_pwd.Text.Trim(), "SHA1"); if (DB.isExists("select * from tb_userInfo where [user]='" + txt_name.Text.ToString().Trim() + "' and pwd='"+pwd+"'")) { Common.ShowMessage(Page, "登录成功~", ""); HttpCookie cookies; cookies = new HttpCookie("xzf"); cookies.Values.Add("user", HttpUtility.UrlEncode(txt_name.Text.Trim())); cookies.Expires = DateTime.Now.AddHours(24); Response.Cookies.Set(cookies); Response.Redirect("index.aspx"); } else { Common.ShowMessage(Page, "帐号或密码错误", ""); } 18 } 5.3 前台主界面设计 前台用户主要针对广大音乐爱好者需求用户,网站用户在网站登录界面进行登录,在前台主界面可以进行歌曲查询,根据导航进行相关页面的跳转: 图 5.3前台主界面 如果用户根据需要进行查询,系统会根据用户输入的关键字给出相应的结果,查询结果界面设计如下: 19 图 5.4 房屋查询界面 功能代码: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string type = Request["type"]; string text = Request["text"]; string sqlSel = "select * from tb_musicInfo where " + type + " like '%" + text + "%'"; gvMusic.DataSource = dataOperate.getRows(sqlSel); gvMusic.DataKeyNames = new string[] { "id" }; gvMusic.DataBind(); labNum.Text = gvMusic.Rows.Count.ToString(); 20 } } protected void gvMusic_RowCommand(object sender, GridViewCommandEventArgs e) { //判断是否为下载操作 if (e.CommandName == "down") { //获取歌曲的id string id = e.CommandArgument.ToString(); //创建SQL语句,查询歌曲的详细信息 string sqlSel = "select musicPath from tb_musicInfo where id=" + id; //创建SQL语句,更新歌曲的下载次数 string sqlUpdate = "update tb_musicInfo set downSum=downSum+1 where id=" + id; ; //执行SQL语句 dataOperate.execSql(sqlUpdate); //调用自定义downFile方法实现歌曲的下载操作 downFile(dataOperate.getTier(sqlSel)); } } 21 protected void downFile(string musicPath) { string path = Server.MapPath("musicFile/") + musicPath; //初始化 FileInfo 类的实例,它作为文件路径的包装 FileInfo fi = new FileInfo(path); //判断文件是否存在 if (fi.Exists) { //将文件保存到本机上 Response.Clear(); Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(fi.Name)); Response.AddHeader("Content-Length", fi.Length.ToString()); Response.ContentType = "application/octet-stream"; Response.Filter.Close(); Response.WriteFile(fi.FullName); Response.End(); } } protected void imgBtnHaving_Click(object sender, ImageClickEventArgs e) { 22 //判断GridView控件中的复选框状态 if (isCheck(gvMusic)) { //遍历GridView控件 foreach (GridViewRow gvr in gvMusic.Rows) { //将GridView控件中的复选框设置为选中状态 ((CheckBox)gvr.FindControl("CheckBox1")).Checked = false; } } else { //遍历GridView控件 foreach (GridViewRow gvr in gvMusic.Rows) { //将GridView控件中的复选框设置为不选中状态 ((CheckBox)gvr.FindControl("CheckBox1")).Checked = true; } } } protected void imgBtnReverse_Click(object sender, 23 ImageClickEventArgs e) { foreach (GridViewRow gvr in gvMusic.Rows) { ((CheckBox)gvr.FindControl("CheckBox1")).Checked = !((CheckBox)gvr.FindControl("CheckBox1")).Checked; } } //判断GridView控件中是否拥有选择的复选框 protected bool isCheck(GridView gv) { bool c = false; //遍历GridView控件 foreach (GridViewRow gvr in gv.Rows) { //判断复选框状态是否选中 if (((CheckBox)gvr.FindControl("CheckBox1")).Checked) { c = true; break; } } 24 return c; } protected void imgBtnPlay_Click(object sender, ImageClickEventArgs e) { int j = 0; if (isCheck(gvMusic)) { string musicList = ""; for (int i = 0; i < gvMusic.Rows.Count; i++) { if (((CheckBox)gvMusic.Rows[i].FindControl("CheckBox1")).Checked) { musicList += gvMusic.DataKeys[i].Value.ToString() + ","; } } Response.Write(""); } else 25 { RegisterStartupScript("", ""); } } 5.4 留言功能模块设计 用户在网站注册登录之后,即可根据需要进行相关留言,进入留言界面填写留言内容提交即可,设计效果如下: 图 5.5 留言功能界面 功能代码: #region SQL语句公共变量 public static string sqltxt = "select * from [tb_boardInfo] order by id desc"; public static string cmdtxt2 = "select count(*) from [tb_boardInfo]"; #endregion 26 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //调用自定义bindGV方法,显示歌曲的详细信息 Get_Pager_Data(); } } //判断GridView控件中是否拥有选择的复选框 protected bool isCheck( GridView gv ) { bool c = false; //遍历GridView控件 foreach (GridViewRow gvr in gv.Rows) { //判断复选框状态是否选中 if (((CheckBox)gvr.FindControl("CheckBox1")).Checked) { c = true; break; } } return c; } protected void Button1_Click(object sender, EventArgs e) { if (Request.Cookies["xzf"] != null) { string user = 27 HttpUtility.UrlDecode(Request.Cookies["xzf"]["user"].ToString()); DB.ExecuteSql("insert into tb_boardInfo(title,[content],[user])values('" + txt_name.Text.ToString().Trim() + "','" + txt_pwd.Text + "','" + user + "')"); Common.ShowMessage(Page, "提交成功~", ""); } else { Common.ShowMessage(Page, "您还为登录,不能进行留言~", ""); } } protected void rptypelist_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { SqlConnection cn = DB.OpenConnection(); Repeater rep = e.Item.FindControl("Repeater2") as Repeater;//找到里 层的repeater对象 Label lb = (Label)e.Item.FindControl("Label5"); DB.Bind_Repeater("select * from tb_feedbackInfo where bid='" + lb.Text.Trim() + "' order by date asc", rep); DB.DisposeConnection(cn); } } #region 获取数据并分页 void Get_Pager_Data() { SqlConnection cn = DB.OpenConnection(); SqlCommand cmd0 = new SqlCommand(cmdtxt2, cn); 28 AspNetPager1.AlwaysShow = true; AspNetPager1.PageSize = 4; AspNetPager1.RecordCount = (int)cmd0.ExecuteScalar(); DB.DisposeConnection(cn); Get_Data(); } #endregion #region 获取数据 void Get_Data() { SqlConnection cn = DB.OpenConnection(); SqlCommand cmd = new SqlCommand(sqltxt, cn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "tb_boardInfo"); DataView dv = ds.Tables["tb_boardInfo"].DefaultView; this.Repeater1.DataSource = dv; this.Repeater1.DataBind(); DB.DisposeConnection(cn); } #endregion #region 点击分页按钮激发的事件 protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e) { AspNetPager1.CurrentPageIndex = e.NewPageIndex; Get_Data(); } #endregion } 29 5.6 后台功能模块介绍 网站后台主要是实现整个网站的管理,主要通过管理员执行。管理员通过后 台登录界面进入到后台管理界面,进行音乐管理、留言管理、新闻管理等操作。 后台登录界面设计如下: 图 5.6 后台登录界面 功能代码: protected void btnlogin_Click(object sender, ImageClickEventArgs e) { string user = Common.UrnHtml(txtname.Text.Trim()); string pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(txtpwd.Text, "SHA1"); if (Sqlbase.ExecuteTable(CommandType.Text, "select * from [tb_admin] where [user]='" + user + "' and pwd='" + pwd + "'", null).Rows.Count > 0) { HttpCookie cookies; 30 cookies = new HttpCookie("xzfpp"); cookies.Values.Add("manager",HttpUtility .UrlEncode (txtname.Text.Trim ())); cookies.Expires = DateTime.Now.AddHours(24); Response.Cookies.Set(cookies); Response.Redirect("Default.aspx"); } else { Sqlbase.MsgBox1("用户名或密码错误~"); } } 管理员输入正确的帐号之后即可进入到后台管理的主界面: 图 5.7 后台管理主界面 5.7 用户管理功能设计 管理员进入到后台之后可以通过用户管理进行管理员和用户信息的管理,可 以点击管理员管理进行管理员的密码修改操作,点击管理员管理操作即浏览或删 除该管理员信息。设计实现效果如下: 31 图 5.8 管理员管理界面 功能代码: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { databand(); ImageButton2.Visible = false; ViewState["id"] = -1; } } protected void gvadm_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowIndex != -1) { int id = e.Row.RowIndex + 1; e.Row.Cells[0].Text = id.ToString(); } //执行循环,保证每条数据都可以更新 for (int i = 0; i < gvadm.Rows.Count + 1; i++) { //首先判断是否是数据行 if (e.Row.RowType == DataControlRowType.DataRow) 32 { //当鼠标停留时更改背景色 e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.color='#116a79';this.style.backgroundColor='#cef97b'"); //当鼠标移开时还原背景色 e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c;this.style.color='#3a6381'"); e.Row.Attributes["style"] = "Cursor:pointer"; //e.Row.Attributes.Add("onclick", "check('" + e.Row.FindControl("cbSelect").ClientID.Replace("_", "_") + "')"); } } } protected void lbmodify_Command(object sender, CommandEventArgs e) { ImageButton1.Visible = false; ImageButton2.Visible = true; DataTable dt = Sqlbase.ExecuteTable(CommandType.Text, "select * from [tb_admin] where id=" + Convert.ToInt32(e.CommandArgument) + "", null); txtname.Text = dt.Rows[0]["user"].ToString(); txtpwd.Text = dt.Rows[0]["pwd"].ToString(); ViewState["id"] = Convert.ToInt32(e.CommandArgument); } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { string user = Common.UrnHtml(txtname.Text.Trim()); string pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(txtpwd.Text,"SHA1"); if (user != "" && pwd != "") 33 { if (Sqlbase.ExecuteNonQuery(CommandType.Text, "insert into [tb_admin]([user],pwd) values('" + user + "','" + pwd + "')", null) > 0) { Sqlbase.MsgBox2("添加成功~", "useradmin.aspx"); } } else { Sqlbase.MsgBox2("添加失败,请填写完整的帐号和密码~", "useradmin.aspx"); } } public void databand() { gvadm.DataSource = Sqlbase.ExecuteTable(CommandType.Text, "select * from [tb_admin]", null); gvadm.DataBind(); ImageButton2.Visible = false; ImageButton1.Visible = true; } protected void lbdel_Command(object sender, CommandEventArgs e) { if (Sqlbase.ExecuteNonQuery(CommandType.Text, "delete from [tb_admin] where ID=" + Convert.ToInt32(e.CommandArgument) + "", null) > 0) { Sqlbase.MsgBox2("删除成功~", "useradmin.aspx"); } } protected void ImageButton2_Click(object sender, ImageClickEventArgs e) 34 { if (txtname.Text != "" && txtpwd.Text != "") { if (Sqlbase.ExecuteNonQuery(CommandType.Text, "update [tb_admin] set [user]='" + txtname.Text + "',pwd='" + txtpwd.Text + "' where id=" + Convert.ToInt32(ViewState["id"]) + "", null) > 0) { Sqlbase.MsgBox2("修改成功~", "useradmin.aspx"); } } else { Sqlbase.MsgBox2("修改失败,请填写完整的帐号和密码~", "useradmin.aspx"); } } 5.8 音乐类别管理功能模块设计 类别管理主要是对音乐类别进行增删改操作,设计实现效果如下: 图 5.9 类别管理界面 功能代码: protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { 35 string name = Common.UrnHtml(txtname.Text.Trim()); if (name != "") { if (Sqlbase.ExecuteNonQuery(CommandType.Text, "insert into [tb_musicType]([musictype]) values('" + name + "')", null) > 0) { Sqlbase.MsgBox2("添加成功~", "type.aspx"); } } else { Common.ShowMessage(Page, "请填写类别名称~", ""); } } public void databand() { gvadm.DataSource = Sqlbase.ExecuteTable(CommandType.Text, "select * from [tb_musicType]", null); gvadm.DataBind(); ImageButton2.Visible = false; ImageButton1.Visible = true; } protected void lbdel_Command(object sender, CommandEventArgs e) 36 { if (Sqlbase.ExecuteNonQuery(CommandType.Text, "delete from [tb_musicType] where id=" + Convert.ToInt32(e.CommandArgument) + "", null) > 0) { Sqlbase.MsgBox2("删除成功~", "type.aspx"); } } protected void ImageButton2_Click(object sender, ImageClickEventArgs e) { if (txtname.Text != "") { if (Sqlbase.ExecuteNonQuery(CommandType.Text, "update [tb_musicType] set [musictype]='" + txtname.Text + "' where id=" + Convert.ToInt32(ViewState["id"]) + "", null) > 0) { Sqlbase.MsgBox2("修改成功~", "type.aspx"); } } else { Common.ShowMessage(Page, "请填写类别名称~", ""); } } 37 5.9 留言管理功能模块设计 留言管理主要实现用户提交的留言的回复、查看及删除操作,设计实现效果 如下: 图 5.10 留言管理界面 功能代码: protected void ImageButton2_Click(object sender, ImageClickEventArgs e) { if (txthuifu.Text.ToString().Trim() != "") { string adminuser = HttpUtility.UrlDecode(Request.Cookies["xzfpp"]["manager"].ToString()); if (Sqlbase.ExecuteNonQuery(CommandType.Text, "insert into [tb_feedbackInfo](bid,[content],adminuser)values(" + Convert.ToInt32(ViewState["id"]) + ",'" + txthuifu.Text + "','" + adminuser + "')", null) > 0) { 38 Sqlbase.MsgBox2("回复成功~", "board.aspx"); } } else { Common.ShowMessage(Page, "请填写回复内容~", ""); } } 39 结 论 该系统设计是通过.NET平台和SQL Server创建的功能比较完善的ASP.NET音乐网。在.NET平台下采用C#语言完成了两大功能模式下各功能模块的设计,系统中我们实现音乐的浏览、收藏、下载、在线试听、留言等功能。采用SQL Server创建了与系统相适应的数据库,并实现与系统连接,实现了用户界面下对数据库的操作。总的来说,本次系统的设计基本完成了设计任务,达到了设计要求,良好的完成了本次毕业设计要求的各项功能。 40 参考文献 [1] 王石,Visual C# 2005语言基础[M],北京,人民邮电出版社,2007.18-36 [2] 刘甲耀,严桂兰,C#程序设计教程[M],北京,电子工业出版社,2007.48-80 [3] 包明辉,武永亮,王磊,基于Web服务的E-Leaning系统设计与实现[J],上海交通大学,计算机科学系,2009,26(5):35-39 [4] 李玉林,王岩,ASP.NET 2.0网络编程从入门到精通[M],北京,清华大学出版社,2006.90-121 [5] Alex Ferrara,.NET WEB服务编程[M],北京,清华大学出版社,2003.56-72 [6] 强风科技,杨明羽,C# 3.0完全自学宝典[M],北京,清华大学出版社,2008.83-108 [7] 东方人华,Visual C#.NET Web应用技术设计[M],北京,清华大学出版社,2005.38-48 [8] Glenn Johnson,ADO.NET高级编程[M],北京,清华大学出版社,2001.70-92 [9] 飞狼,杨涵,李春萌,SQL Server 2005数据库管理和应用指南[M],北京,人民邮电出版社,2008.60-82 [10] 龙马工作室,新编SQL Server 2005数据库管理与开发[M],北京,人民邮电出版社,2007.42-60 [14] 前沿科技,温谦,HTML+CSS网页设计与布局从入门到经典[M],北京,人民邮电出版社,2008.28-50 [11] 赵昊彤,杨珏,VBScript制作实例[M],北京,人民邮电出版社,1999.15-23 [12] 高屹,沙俊星,网络应用程序设计教程[M],北京,机械工业出版社,2008.102-110 [13] 萨师煊,王珊,数据库系统概论[M],北京,高等教育出版社,2006.12-20 [14] 刘方鑫等著,数据库系统原理与应用[M],北京,电子工业出版社,2005.35-45 [15] 徐龙琴,刘双印,沈玉利,数据库安全性控制的研究[J],广东海洋大学,信息学院,2009,26(5):68-70 41 致 谢 经过几个月的对ASP.NET的学习,本人学会了很多知识,个人的能力有了很大的提高,对ASP.NET和动态网站的建设有了更深刻的认识,并用ASP.NET顺利的开发了这样一个ASP.NET音乐网,我的毕业设计也取得了应有的效果。随着 毕业论文 毕业论文答辩ppt模板下载毕业论文ppt模板下载毕业论文ppt下载关于药学专业毕业论文临床本科毕业论文下载 的完成,大学的学习生活也即将结束,回顾这段岁月,心中不禁感慨万千,在过去的这段岁月里,有许多人给予了我无私的帮助。 在这里,我要感谢我的指导老师_______________,在设计中遇到疑难和困惑的时候,他总能给予我们提供了极大的帮助和鼓励。在我们遇到问题时他总是耐心的为我们做出解答,直到设计的完成。同时也感谢同学们的通力协助,他们在整个过程中给予我许多宝贵的意见和无私的帮助。最后还要感谢我的母亲,一直以来,无论我经历了什么事情,做出了什么决定,她都在我身后给我提供全力的支持和无私的帮助。她对我的关爱、理解和信任伴随着我走过了过去的岁月中的每一段路程,她是我的精神支柱,她是我的最大骄傲,没有她,我无法完成今天的学业,也就没有今天的我。感谢其他给我提供帮助的老师、同学和朋友们一直以来对我的关心支持和帮助。 42
本文档为【音乐类别管理功能模块设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321635
暂无简介~
格式:doc
大小:238KB
软件:Word
页数:43
分类:企业经营
上传时间:2017-09-28
浏览量:44