我用asp.net中,用gridview绑定了数据,定时刷新,当刷新到数据是播放提示音乐
我的前台代码是<scripttype="text/javascript"language="javascript">functionplay_click(sef,url)...
我的前台代码是<script type="text/javascript" language="javascript">
function play_click(sef,url){
var div = document.getElementById('div1');
div.innerHTML = '<embed src="'+url+'" loop="0" autostart="true" hidden="true"></embed>';
var emb = document.getElementsByTagName('EMBED')[0];
if (emb) {
div = document.getElementById('div2');
div.innerHTML = 'loading: '+emb.src;
sef.disabled = true;
setTimeout( function(){div.innerHTML=''; },1000);
}
}
</script>
<asp:GridView id="GridView1" runat="server" Height="145px" AutoGenerateColumns="false" Width="273px" GridLines="None" CellPadding="4" ForeColor="#333333" OnDataBinding="play_click(this,'<%=strpath %>>')">
后台代码是 public string strpath;
protected void Page_Load(object sender, EventArgs e)
{
strpath = Server.MapPath("../sound/2.wav");
GridView1.DataSourceID = null;
GridView1.DataSource = bijibenmonitoring.GetALLdiannaojiance();
GridView1.DataBind();
}可是运行的时候报错是<asp:GridView id="GridView1" runat="server" Height="145px" AutoGenerateColumns="false" Width="273px" GridLines="None" CellPadding="4" ForeColor="#333333" OnDataBinding="play_click(this,'<%=strpath %>>')">提示字符文本的字符太多,这是怎么回事我用的vs2005,问题纠结中,烦劳指点一下 展开
function play_click(sef,url){
var div = document.getElementById('div1');
div.innerHTML = '<embed src="'+url+'" loop="0" autostart="true" hidden="true"></embed>';
var emb = document.getElementsByTagName('EMBED')[0];
if (emb) {
div = document.getElementById('div2');
div.innerHTML = 'loading: '+emb.src;
sef.disabled = true;
setTimeout( function(){div.innerHTML=''; },1000);
}
}
</script>
<asp:GridView id="GridView1" runat="server" Height="145px" AutoGenerateColumns="false" Width="273px" GridLines="None" CellPadding="4" ForeColor="#333333" OnDataBinding="play_click(this,'<%=strpath %>>')">
后台代码是 public string strpath;
protected void Page_Load(object sender, EventArgs e)
{
strpath = Server.MapPath("../sound/2.wav");
GridView1.DataSourceID = null;
GridView1.DataSource = bijibenmonitoring.GetALLdiannaojiance();
GridView1.DataBind();
}可是运行的时候报错是<asp:GridView id="GridView1" runat="server" Height="145px" AutoGenerateColumns="false" Width="273px" GridLines="None" CellPadding="4" ForeColor="#333333" OnDataBinding="play_click(this,'<%=strpath %>>')">提示字符文本的字符太多,这是怎么回事我用的vs2005,问题纠结中,烦劳指点一下 展开
3个回答
展开全部
何必要放到这耐没里呢,正亩掘做一个ajax请求,当请求有数据是,便播放声音,那多好啊,一方面效果达到了,举核另一方面不刷新页面保证了用户体验。
追问
请问如果用您的方法,该如何实现,忘请赐教。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
报此种错误范围可以缩小为 OnDataBinding="play_click(this,'<%=strpath %>山樱物>')"逗液> 这里颂虚,可能OnDataBingding不能这么用....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是错误的写闹猜告法!!OnDataBinding="液明play_click(this,'兆郑<%=strpath %>>')">
更多追问追答
追问
这是错误的写法么,那请问这应该如何改正。
追答
给你看看我以前做的:
1、在页面里面放一个div对象,用于显示文字提示,并加一行
2、写一个TasksQuery.ashx文件
3、在写一个JavaScript文件,定时调用TasksQuery.ashx查询数据,如果查询到数据就播放声音
// JScript 文件
//Ajax功能=========================================================
var url = "/TasksQuery.ashx"; // The server-side script
function handleHttpResponse() {
if (http.readyState == 4) {
if (http.responseText.length > 0) {
document.getElementById('imgTasks').title = http.responseText;
document.getElementById('DivTasks').style.visibility = "visible";
playSound();
//window.alert("["+http.responseText+"]");
}
else
{
document.getElementById('DivTasks').style.visibility = "hidden";
}
isWorking = false;
}
if( window.location.href.toLowerCase().indexOf("tasklist.aspx") >= 0 || window.location.href.toLowerCase().indexOf("sbdj.aspx") >= 0 )
{
stopSound();
if(timerid) window.clearInterval(timerid);
var DivT = document.getElementById('DivTasks');
if(DivT) DivT.style.visibility = "hidden";
}
}
//------未完,超出字数,请追问,再贴
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询