如何使一个按钮既有js事件又回发?

cmxstudio 2008-01-18 11:30:55
一个音乐站项目,
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Images/MusicPlay.gif" OnClick="ImageButton1_Click" OnClientClick='window.open("MusicPlayer.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "ID") %>")' />
</ItemTemplate>
</asp:TemplateField>

在一个歌曲列表中有这样一个ImageButton ,点击试听的,要打开一个新窗口然后再回发,可是无效,这是为什么?
...全文
98 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ncjmc 2008-01-18
  • 打赏
  • 举报
回复
1.在页面<head></head>中写一段JavaScript脚本,可以避免OnClientClick中的引号问题,如果要先执行弹出页面再执行服务端程序,弹出页面不用window.open,要用window.showModalDialog,处理要复杂些

<script type="text/javascript" language="javascript">
function openMusicPlayer(id)
{
window.open("MusicPlayer.aspx?ID="+id);
}
</script>

2.OnClientClick语句
OnClientClick='<%# DataBinder.Eval(Container.DataItem,"ID","openMusicPlayer({0:G})") %>'
SaintKaKa 2008-01-18
  • 打赏
  • 举报
回复
OnClientClick="return openWin('<%#DataBinder.Eval(Container.DataItem, "ID") %>')"

js:
function openWin(o){
window.open("MusicPlayer.aspx?ID="+o,"_blank");
return true;
}
zhuanshen712 2008-01-18
  • 打赏
  • 举报
回复
出什么错啊?
OnClientClick='javascript:window.open("MusicPlayer.aspx?ID= <%# DataBinder.Eval(Container.DataItem, "ID") %> ")'
cmxstudio 2008-01-18
  • 打赏
  • 举报
回复
还有 ,OnClientClick='window.open("MusicPlayer.aspx?ID= <%# DataBinder.Eval(Container.DataItem, "ID") %> ")' 老是出错,这是为何?
buller 2008-01-18
  • 打赏
  • 举报
回复
OnClientClick="return confirm('确定?')"
majia_of_run 2008-01-18
  • 打赏
  • 举报
回复
少了一个分号吧, OnClientClick语句结束前要加一个 ;

OnClientClick='window.open("MusicPlayer.aspx?ID= <%# DataBinder.Eval(Container.DataItem, "ID") %> ");'
cmxstudio 2008-01-18
  • 打赏
  • 举报
回复
TO 5楼:
我知道你OnClientClick=' <%# DataBinder.Eval(Container.DataItem,"ID","openMusicPlayer({0:G})") %> ' 这么用的意思,可是我的ID是字符型的,参数传递必须要引号括起来啊,这么怎么解决?
cmxstudio 2008-01-18
  • 打赏
  • 举报
回复
楼上,报:“服务器标记的格式不正确”。大概是引号问题
marxTen 2008-01-18
  • 打赏
  • 举报
回复
OnClientClick="javascript:window.open('MusicPlayer.aspx?ID= <%# DataBinder.Eval(Container.DataItem, "ID") %> ')"
cmxstudio 2008-01-18
  • 打赏
  • 举报
回复
TO 3楼:报缺少 ')',我也不知道为什么会少)
TO 4楼:还是一样的错误。
TO 5楼:提示格式字符串只能是"D","d",.........之类的。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧