AJAX在线音乐网站(4)Part two 功能实现

   上一篇博客里面已近总结了三个功能的具体实现,今天把剩余功能的具体实现补充总结,如果你想对整个小项目有清楚的了解,建议去看下前几篇博客。

1.AJAX在线音乐网站(1)需求和功能结构

2.AJAX在线音乐网站(2)数据库和开发环境

3.AJAX在线音乐网站(3)Part one 功能实现

d.歌曲添加功能的实现

管理员或是被管理员授权的用户可以将自己喜欢的歌曲添加到在线音乐网站的首页排行榜中。如图7.5所示。

图7.5 歌曲添加

实现过程:

通过在ASP.NET页面定义标签中的错误属性,如下代码:

Display="Dynamic" ErrorMessage="RequiredFieldValidator">歌手信息不为空

歌手信息不为空 在点击添加后,程序将检查各个文本框的内容是否符合要求,并显示相应提示,在各信息无误的情况下,程序将会把信息通过SQL语言插入到各数据表中,关键代码如下:

 1 try
 2         {
 3             upload.SaveAs(path + musicname);
 4             conn.Open();
 5             SqlTransaction myTrans = conn.BeginTransaction();
 6             try
 7             {
 8                 SqlCommand cmd = new SqlCommand();
 9                 cmd.Transaction = myTrans;
10                 insert_music(conn, musicname, cmd);
11                 if (!isExisted("album", "album", conn, cmd))
12                 {
13                     insert_album(conn, cmd);
14                 }
15                 if (!isExisted("singer", "singer", conn, cmd))
16                 {
17                     insert_singer(conn, cmd);
18                 }
19                 myTrans.Commit();
20                 msg.Text = "音乐添加成功!";
21                 singer.Text = "";
22                 birthday.Text = "";
23                 hobby.Text = "";
24                 album.Text = "";
25                 profile.Text = "";
26             }
27        }

e.歌单不同类型播放的实现

用户可以根据自己喜好来选择播放榜单歌曲的方式(随机播放、顺序播放、单曲重复),如下7.6图。

图7.6 歌单不同类型播放

实现过程:

首先在前台页面中将DropDownList中的索引值与内容对应,如下代码:

<asp:DropDownList>
<asp:DropDownList ID="ddlPlayType" runat="server">
<asp:ListItem Value="0">顺序播放</asp:ListItem>
<asp:ListItem Value="1">随机播放</asp:ListItem>
<asp:ListItem Value="2">单曲循环</asp:ListItem>
</asp:DropDownList>

当用户播放下一首歌曲时,程序会通过比较DropDownList当前索引值,来决定传入播放器的音乐文件的ID。关键代码如下:

//顺序播放
        if (ddlPlayType.SelectedValue == "0")
        {
            int listCount = Select1.Items.Count;
            //这是最后一首的时候
            if ((selectIx + 1) == listCount)
            {
                //将最后一首 设置为不可选状态
                Select1.Items[selectIx].Selected = false;
                //选择第一首歌曲
                Select1.Items[0].Selected = true;
                //ID 为第一首歌的ID
                id = Select1.Items[0].Value;
            }
            else
            {
                //取下一首歌曲ID
                id = Select1.Items[Select1.SelectedIndex + 1].Value;
                Select1.Items[selectIx].Selected = false;
                Select1.Items[selectIx + 1].Selected = true;
            }
        }
        //随机播放
        else if (ddlPlayType.SelectedValue == "1")
        {
            //取随机数
            Random rad = new Random();
            //在歌曲数目中取个随机数
            int radIx = rad.Next(0, Select1.Items.Count);
            //选择那首选中的随机歌曲的ID
            id = Select1.Items[radIx].Value;
            Select1.Items[selectIx].Selected = false;
            Select1.Items[radIx].Selected = true;
        }
        //单曲循环
        else
        {
            id = Select1.Items[selectIx].Value;
        }

f.管理员维护歌曲

管理员登录到后台后,可以进行音乐、专辑、歌手信息的修改,如下7.7、7.8图。

图7.7 音乐信息修改

图7.8 音乐详细信息修改

实现过程:

通过添加按钮btn_Click事件使用更新和删除的SQL语言,将页面发生变更的信息同步到数据库当中去,关键代码如下:

cmd.CommandText = "update [music] set [email protected],[email protected],[email protected],[email protected] where [email protected]";
cmd.Parameters.Add("@musicName", SqlDbType.NChar).Value = musicName.Text.Trim().ToString();
cmd.Parameters.Add("@singer", SqlDbType.NChar).Value = singer.SelectedValue.Trim().ToString();
cmd.Parameters.Add("@album", SqlDbType.NChar).Value = album.SelectedValue.Trim().ToString();
cmd.Parameters.Add("@type", SqlDbType.NChar).Value = typelist.SelectedValue.Trim().ToString();

g.用户授权和注册

管理员可以授权用户成为管理员来进行网站曲目的维护,如图7.9。游客可以通过注册来成为在线音乐的用户,如图7.10。

图7.9 管理员授权页面

图7.10用户注册

1)授权实现过程:

当管理员登录后台,点击授权按钮,触发dg_ItemCommand事件,网站根据授权的用户ID,执行SQL 更新语句,关键代码如下:

if (e.CommandName == "allowUser")
        {
            msg.Text = "";
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());
            string userId = dg.DataKeys[e.Item.ItemIndex].ToString();
            conn.Open();
            try
            {
         SqlCommand cmd = new SqlCommand();
         cmd.CommandText = "update [user] set type =‘admin‘ where [email protected]";
         cmd.Connection = conn;
         cmd.Parameters.Add("@userId", SqlDbType.NChar).Value = userId.Trim();
         cmd.ExecuteNonQuery();
         dataBind();
            }

2)注册实现过程:
用户在输入注册页面的信息的同时,能判断用户名和e_mail的格式是否正确,在点击添加按钮后,触发 addbtn_Click事件,并将信息插入到用户信息数据表中,关键代码如下:

try
       {
        conn.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.Parameters.Add("@userId", SqlDbType.NChar).Value = userId.Text.Trim();
        cmd.Parameters.Add("@passwd", SqlDbType.NChar).Value = password.Text.Trim();
        cmd.Parameters.Add("@name", SqlDbType.NChar).Value = name.Text.Trim();
        cmd.Parameters.Add("@sex", SqlDbType.NChar).Value = sex.SelectedValue.ToString();
        cmd.Parameters.Add("@mail", SqlDbType.NChar).Value = mail.Text.Trim();
          cmd.Parameters.Add("@type", SqlDbType.NChar).Value = "user";
           if (!isExisted(cmd))
                {
cmd.CommandText = "INSERT INTO [user] VALUES (@userId,@passwd,@name,@sex,@mail,@type)";
            cmd.ExecuteNonQuery();
            msg.Text = "注册成功!";
            userId.Text = "";
            name.Text = "";
            mail.Text = "";
            Response.Redirect("Default.aspx");
                }
            else
            msg.Text = "用户名已经存在!"; 
时间: 2024-08-16 22:14:40

AJAX在线音乐网站(4)Part two 功能实现的相关文章

AJAX在线音乐网站(3)Part one 功能实现

今天打算把网站功能的具体实现给总结回顾一下,如果你想了解整个小项目,建议你先看看前面2篇博客. 1.AJAX在线音乐网站(1)需求和功能结构 2.AJAX在线音乐网站(2)数据库和开发环境 7.网站主要模块实现 a.在线音乐前台 由于在线音乐网站要提供用户在线音乐的相关服务,当用户打开网站时,引入眼帘的是首页,所以首页的对于整个网站来说是非常重要的一个页面,首页排版和设计的美观与否将直接影响到游客的浏览和用户的注册.首页不仅要实现各种功能的展示,而且还要着眼于系统整体风格,能让首页做到功能完善,

AJAX在线音乐网站(5)测试

需求.功能结构.数据库设计.功能实现都总结完,哈哈,就等于是盖一座房子,风水看了.地基打了.房子取向也决定了.墙也砌起来了.油漆也刷上了,嗯,好的.现在是不是该住进房子享受一下了,如果想看看我的房子是什么样子的,可以看看我前面几篇博文: 1.AJAX在线音乐网站(1)需求和功能结构 2.AJAX在线音乐网站(2)数据库和开发环境 3.AJAX在线音乐网站(3)Part one 功能实现 4.AJAX在线音乐网站(4)Part two 功能实现 那现在是时候测试下我的在线音乐网站了,今天打算总结下

AJAX在线音乐网站(2)数据库和开发环境

  昨天主要描述了网站需求和功能结构,今天花了点时间,总结了下网站具体的数据库设计还有所用到的开发环境和工具.  如果对前面的总结有兴趣的朋友可以查看我上篇博客AJAX在线音乐网站(1)需求和功能结构 5.网站数据库设计(E-R图) 采用E-R图分析在线音乐网站数据关系.下面具体叙述在线音乐网站中主要的实体图及E-R图. 歌曲信息表实体图如图5.1所示:主要有歌曲ID.歌曲名.演唱者.专辑名.歌曲类型.下载次数.访问量.总访问量等基本属性. 图5.1 歌曲信息实体图 专辑信息表实体图如图5.2所

AJAX在线音乐网站(1)需求和功能结构

前段时间根据课程安排,实现了一个ASP.NET在线音乐网站,最近时间不紧,打算对前段时间的小项目进行记录和总结,一是回顾项目进行的整个流程,二是加深对所用技术和工具的理解,三是反思项目过程中出现的问题和解决方法. 1.网站需求: 1.歌曲展示:用户登录网站首页后,展示歌曲排行榜.专辑排行榜.歌手排行榜: 2.用户登录和注册:当游客希望成为我们网站的一个用户来获得更多的权限的时候,网站提供注册和登录: 3.网站歌曲搜索:可以通过歌名.专辑名.歌手三种不同类型,并支持模糊查询来搜索你想试听的歌曲:

基于JSP的在线音乐管理系统-java音乐管理系统在线音乐网站下载音乐mysql数据源

基于JSP的在线音乐管理系统-java音乐管理系统在线音乐网站下载音乐mysql数据源 1.包含源程序,数据库脚本.2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善.开发环境:Eclipse ,MySQL 5.1,JDK1.8,Tomcat 7涉及技术点:MVC模式.JavaWeb.JDBC.HTML.CSS.JQUERY.Maven.C3P0.分页.文件上传.购物车等.实现功能:充值.购买歌曲.poi数据导入导出.歌曲上传下载.歌曲播放.用户注册登录注销,管理员.系统没用任何框架,前台

音乐网站开发,在线音乐网站建设,DJ音乐网站制作

本公司专业承接音乐网站开发,在线音乐网站建设,DJ音乐网站制作,手机音乐网站制作开发等服务,需要的朋友可以私聊,谢谢. 支持定制,电脑版,手机版,微信版,小程序版,APP版提供一站式服务:联系QQ:2 3 6 0 2 4 8666(私聊),微信:luenmicro 电话:181-2795-0266 原文地址:http://blog.51cto.com/14052561/2313778

基于JSP的音乐网站的设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘   要 随着互联网和宽带上网的普及,网络传输以其特有的快速.高效.便捷的传输方式越来越被人们接受.在当今社会的影响下,人们因为快节奏的工作和生活产生了极大的压力,这时就需要一个放松的环境去释放这些压力,因此音乐网站也就应运而生了.与此同时,音乐网站也为广大音乐爱好者提供了一个音乐交流的平台,借此增加对音乐的了解. 音乐网站系统以Struts2为框架进行开发,以JSP作为页面载体,后台数据库使用Mysql,在Windows环境下使用M

在线收听付费音乐网站,音乐网站制作、音乐类网站电台定制开发

本公司承接:建站,仿站,网站定制,小程序开发,公众号,微信商城,购物商城,拥有10年经验的网站开发团队,从需求分析.网站开发等一系列为客户提供全方位的网站建设工作,网站开发为定制项目根据需求报价 音乐网站支持电脑版,手机版在线收听音乐,付费制版权功能,采用PHP+MySQL实现,支持个性化定制开发. 有需要的朋友可以联系我们Tel: 13229989046(微信同号)QQ:2154259079 原文地址:http://blog.51cto.com/13944860/2338420

专业定制DJ音乐网站,在线音乐播放网站源码开发建设

模仿qq音乐网站,虾米音乐网站,网易云音乐网站,酷我音乐网站,酷狗音乐网站开发定制等.承接dj音乐站搭建一条龙服务. 联系我时,请说是在64楼看到的,谢谢! 需要可以联系我的QQ:2360248-666  ,微信:luenmicro    电话:13112215717 原文地址:https://www.cnblogs.com/luchakeji/p/8413301.html