请教 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在什么时候赋值的 --------------------编程问答-------------------- 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 --------------------编程问答-------------------- 单引号去掉就可以了 --------------------编程问答--------------------
如果在后台赋值,这当然可以实现。但还是没有解决数据绑定的问题,我提供一种解决方法, OnClientClick=‘<%# javascript:alert(\""+id+"\");return false;" %>'
并且在后台代码的page_loading中加入page.databind().这样绑定以后就可以使用了 --------------------编程问答-------------------- var id="<%=id%>";
alert(id);
补充:.NET技术 , ASP.NET