描述:
一个用户控件,包含有一个客户端button,
一个页面有多个上述用户控件,
也就是该页面会有多个一样的button,
botton引发的消息处理函数放在js文件里,
该js文件的同一函数能同时处理多个控件对应的button消息,
但发送到客户端后,所有的button的ID和name都一样了,
问题:
1.怎么知道是哪个控件对应的button触发?2.有更好的替代方法吗?如每个控件对应一个js函数,
  但我发现这样做的话,页面里就有多套一样的js代码。谢谢~

解决方案 »

  1.   

    多个同样的用户控件,它们的名字不会相同的,比如uc1,uc2,你可以看看生成的html源码,看看它们的名字变成了什么,然后在js中给button加上相应的前缀
      

  2.   

    我看了,客户端的控件如button都一样。
      

  3.   

    我加了runat=server,变成服务器端控件后就自动编号了,谢谢楼上的提示。
      

  4.   

    button id不一样了,但怎么知道是哪个button触发呢?只有一个处理函数。
      

  5.   

    多个Button共用一个脚本是吧,给脚本加个参数,Button的onclick(this),在脚本内做判断,应该可以解决您的问题。
      

  6.   

    测试通过的方案:
    1.button加id,并runat=server,
      保证button在客户端html中有唯一的id
    2.onclick里面加上this参数,在消息处理函数里识别触发的ID,通过该ID与控件关联!  如:
    <button id="btnPrev"  runat="server"  onclick="PrevPage(this)">上一页</button>function PrevPage(obj) {
          alert("button id = "+obj.id);
    }
    多谢楼上两位的提示。  
      

  7.   

    this?
    http://www.cnblogs.com/insus/archive/2011/11/18/2253605.html
      

  8.   

    如果只有一个页面引用了这个控件的话,为什么不把这些button集合成一个控件呢?这样的话,在用户控件的JS里边就给每个button写好对应的处理方法不就可以实现了吗