rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » Javascript

关于使用JS的一点经验

如果一个usercontrol里写了一段JS,而这个usercontrol的多个实例注册到页面上,那么页面上就有多个相同的方法名。实行javascript方法的时候就会执行最后一个。怎么解决各个usercontrol实例执行各自的方法呢?于是想到给方法传参数,例如:     
   <asp:Button
ID="Button1" runat="server" OnClientClick="return
Fun('<%=TextBox1.ClientID %>')"
Text="Button" /> <asp:TextBox
ID="TextBox1"  runat="server"></asp:TextBox>   <%=TextBox1.ClientID
%>当做是一个字符串而不是需要编译的代码。解决这个问题的办法就只能是把Button的OnClientClick去掉,然后在后台注册它的前台脚本:
string tbValue=this.TextBox1.Text;
Button1.Attributes.Add("onclick","return
Fun('"+tbValue+"')");
这样就OK了,正确传参后方法就会各自执行各自的,不会相互干扰了。
顶一下
(0)
踩一下
(0)