前台不变改成这样using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;public partial class 在线播放音乐_Play : System.Web.UI.Page { protected string url=null;//在这里声明一个变量 protected void Page_Load(object sender, EventArgs e) { try { string id = Request["m_id"].ToString(); SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["mp34play"].ConnectionString); con.Open(); SqlCommand cmd = new SqlCommand("select m_name from mp34 where m_id='" + id + "'", con); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { string name = dr["m_name"].ToString(); url = "music/" + name;//这里直接用就行了 Label1.Text = "<param name='Filename' value='" + url + "'>"; } } catch { Response.Redirect("MPList.aspx"); } } } 前台直接<%=url%>就能读取到
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="playlist" runat="server" AutoGenerateColumns="False" OnSelectedIndexChanged="playlist_SelectedIndexChanged">
<Columns>
<asp:BoundField DataField="m_id" HeaderText="编号" />
<asp:BoundField DataField="m_name" HeaderText="名称" />
<asp:BoundField DataField="m_cname" HeaderText="创作者" />
<asp:BoundField DataField="m_ycname" HeaderText="演唱者" />
<asp:CommandField SelectText="播放" ShowSelectButton="True" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
MPList.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;public partial class 在线播放音乐_MPList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["mp34play"].ConnectionString);
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from mp34", con);
DataSet ds = new DataSet();
da.Fill(ds);
this.playlist.DataSource = ds;
this.playlist.DataBind();
con.Close();
}
}
protected void playlist_SelectedIndexChanged(object sender, EventArgs e)
{
string aa = this.playlist.SelectedRow.Cells[0].Text.ToString();
Response.Redirect("Play.aspx?m_id='" + aa + "'");
}
}Play.aspx
<body>
<form id="form1" runat="server">
<div>
<table width= "759 "border= "0 " align= "center ">
<tr>
<td align= "center ">
<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer2" width=400 height=400 >
<asp:Label ID="Label1" runat="server" />
<!--param name="Filename" value="<% =url %>">-->
<param name= "UIMode"value="none"/>
<param name= "AutoStart"value="1"/>
<param name= "Enabled"value="true"/>
<param name= "ShowControls"value="-1"/>
<param name= "ShowGotoBar"value="0"/>
<param name= "ShowStatusBar"value="-1"/>
<param name= "EnableFullScreenControls "value= "1"/>
<param name= "EnablePositionControls"value= "1"/>
<param name= "Volume"value="100"/>
<param name= "DisplaySize"value= "0"/>
<param name= "SendErrorEvents"value= "0"/>
<param name= "enableContextMenu"value= "0"/>
<param name= "EnableStretchToFit"value= "1"/>
<param name= "EnableTracker"value= "1"/>
</object>
</td>
</tr>
</table>
</div>
</form>
</body>
Play.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;public partial class 在线播放音乐_Play : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
string id = Request["m_id"].ToString();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["mp34play"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select m_name from mp34 where m_id='" + id + "'", con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
string name = dr["m_name"].ToString();
string url = "music/" + name;
Label1.Text = "<param name='Filename' value='" + url + "'>";
}
}
catch
{
Response.Redirect("MPList.aspx");
}
}
}
<Columns>
<asp:BoundField DataField="m_id" HeaderText="编号" />
<asp:BoundField DataField="m_name" HeaderText="名称" />
<asp:BoundField DataField="m_cname" HeaderText="创作者" />
<asp:BoundField DataField="m_ycname" HeaderText="演唱者" />
<asp:CommandField SelectText="播放" ShowSelectButton="True" />
</Columns>
</asp:GridView>
那书只是教如你如何绑定数据,顺便找了个音乐例子而己,并不能播放的,它只是个教你如何绑定数据显示而己实际上,你要播放音乐,还要有一个播放器。你可以百度一个MP3播放器。你需要在网页上加入一个播放器,并填上相关MP3地址,就可以播放了
播放的是本地文件夹的音乐,.
加上这句后 <!--param name="Filename" value="<% =url %>">-->
会报错 编译器错误信息: CS0103: 当前上下文中不存在名称“url”去掉后,try里面的不会执行.
param name="Filename" value='<% =url %>'>改成单引号如果还提示没url,可以数据库字段没有url这个字段,或者,你在查询时,在SQL语句中,更改了url名称
string url = "music/" + name;
name有音乐文件的后缀名吗?
编译器错误信息: CS0103: 当前上下文中不存在名称“url”
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;public partial class 在线播放音乐_Play : System.Web.UI.Page
{
protected string url=null;//在这里声明一个变量
protected void Page_Load(object sender, EventArgs e)
{
try
{
string id = Request["m_id"].ToString();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["mp34play"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select m_name from mp34 where m_id='" + id + "'", con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
string name = dr["m_name"].ToString();
url = "music/" + name;//这里直接用就行了
Label1.Text = "<param name='Filename' value='" + url + "'>";
}
}
catch
{
Response.Redirect("MPList.aspx");
}
}
}
前台直接<%=url%>就能读取到
没有声明url变量啊也可以用jquery 插件去播放啊
例子:
<link href="skin/cssreset.css" rel="stylesheet" type="text/css" />
<link href="skin/default/css/default.css" rel="stylesheet" type="text/css" />
<!--[if lt IE 7]>
<style type="text/css">
.playlist_content_songer .imgDiv a span { behavior: url(skin/default/css/iepngfix.htc); cursor: pointer; }
#player_play{behavior: url(skin/default/css/iepngfix.htc); }
#player_pause{behavior: url(skin/default/css/iepngfix.htc); }
</style>
<![endif]-->
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/jquery.jplayer.js"></script>
<script type="text/javascript" src="js/jquery.mousewheel.js"></script>
<script type="text/javascript" src="js/common.js"></script>
<script type="text/javascript" language="javascript">
function gechi(musicname)
{
$.ajax({
type:"post",//提交方式
url:"ajaxval.aspx", //提交地址
data: "name="+musicname,//提交的数据
success:function(msg){//根据返回状态,给出相关提示
if (msg!=null) {
$("#<%=Label1.ClientID%>").html(msg); }
// else
// $("#<%=Label1.ClientID%>").text("获取不到歌词");}
// $("#Label1").val="获取不到歌词";
}
});
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div>
<div style="float:left; width:263px; text-align:center; height:410px;overflow:scroll" >
<div style="width:240px; text-align:center">
<asp:Label ID="Label1" runat="server" Text="歌词"></asp:Label>
</div>
</div>
<div id="container" style="float:right; margin-top:3px; margin-bottom:3px" >
<div id="jquery_jplayer"></div>
<div id="player_title">
<h1>音乐盒</h1>
</div>
<div id="playlist_list">
<div class="playlist_main">
<div class="playlist_wrap" >
<div class="playlist_cc">
<ul class="playlist_content" >
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li onclick='gechi("<%# Eval("musicname")%>")' class="player" jplayer='<%# Eval("musicpath") %>' songer="许慧欣" ablum="幸福的糖" songimg="skin/default/images/songer/1.jpg">
<a href="#" class="controllink" ></a>
<p ><%# Eval("musicname")%></p>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
</div>
</div>
<div class="playlist_footer_content">
<ul class="playlist_footer">
<li class="list_play_zhi"><a href="#">直接播放</a></li>
<li class="list_up_one"><a href="#">上一首</a></li>
<li class="list_up" style="display:none;"><a href="#">上 翻</a></li>
<li class="list_down" style="display:none;"><a href="#">下 翻</a></li>
<li class="list_down_one"><a href="#">下一首</a></li>
<li class="list_ramdom"><a href="#">随便听听</a></li>
</ul>
</div>
</div>
</div>
<br />
</div>
</asp:Content>