当前位置:编程学习 > C#/ASP.NET >>

请教 OnClientClick 中使用 <%%>的问题

请教一个问题:
<asp:Button ID="btn1" runat="server" Text="自定义" OnClientClick="alert('<% =Id %>');return false;" />
其中Id的值是123

在页面上点击这个按钮显示了字符串“ <% =Id %> ”,不是 我想要的显示 Id 的值 123;

这是为什么,我要如何做,才能显示 123。 --------------------编程问答-------------------- 把括号里面的单引号去掉 --------------------编程问答-------------------- 同意楼上 --------------------编程问答-------------------- 去掉引号也不行,我试过了。

我已经找到解决方法了。

在OnClientClick 就没法用 <%%> 。
在后台代码中这样来赋值。

btn1.OnClientClick = "alert(" + id + ");return false;" 

这样在页面看源代码就是:
onclick="alert(123);return false;"  --------------------编程问答-------------------- 主要看你id在什么时候赋值的  --------------------编程问答--------------------
引用 3 楼 metalzhang 的回复:
去掉引号也不行,我试过了。

我已经找到解决方法了。

在OnClientClick 就没法用 <%%> 。
在后台代码中这样来赋值。

btn1.OnClientClick = "alert(" + id + ");return false;" 

这样在页面看源代码就是:
onclick="alert(123);return false;" 
page_load中赋值,或者在之前赋值 ,都是可以alert出来的 --------------------编程问答-------------------- 在后台的 page_load中加入代码 Page.DataBind(); 然后 前段的绑定<asp:Button ID="Button2" runat="server"
        Text="<%# id %>" OnClientClick="alert(this.title);return false;" ToolTip="<%# id %>"  />

因为OnClientClick在绑定的时候 还是不会转换过来 所以这里用的是 绑定title 的值 弹出title的值 title就是ToolTip  --------------------编程问答-------------------- 单引号去掉就可以了 --------------------编程问答--------------------
引用 3 楼 metalzhang 的回复:
去掉引号也不行,我试过了。

我已经找到解决方法了。

在OnClientClick 就没法用 <%%> 。
在后台代码中这样来赋值。

btn1.OnClientClick = "alert(" + id + ");return false;" 

这样在页面看源代码就是:
onclick="alert(123);return false;" 


如果在后台赋值,这当然可以实现。但还是没有解决数据绑定的问题,我提供一种解决方法, OnClientClick=‘<%# javascript:alert(\""+id+"\");return false;" %>'
并且在后台代码的page_loading中加入page.databind().这样绑定以后就可以使用了 --------------------编程问答-------------------- var id="<%=id%>";
alert(id);
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,