我的用户控件包括一个textbox,一个ImageButton,和一个HiddenField,
主要用途是 在我点击imagebutto后 弹出一页,在弹出页选择后关闭弹出页,返回两个值
一个给textBox 一个给hiddenfield 
现在这么没问题了
但是当我在一个页面放了多个该控件后,无论我单击那个控件上的imagebutton,返回的值都在最后一个控件的textBox上显示
我知道这是执行了最后那个控件的的代码,我js很次 不知道怎么解决!
恳请帮忙

解决方案 »

  1.   

    用了 给你看我的代码把 function fortable1() {        var arr = window.showModalDialog("../../../mycontrol/staffbm.aspx", "", "dialogWidth:420px;dialogHeight:600px;status:no;help:no;scroll:yes;resizable:no");
             <%ClientScript.GetCallbackEventReference(obj,"",GetCallback,null)%>         if (arr != null) {
                var strs = new Array(); //定义一数组
                strs = arr.split(";"); //字符分割
                document.getElementById("<%=HiddenField1Name %>").value = strs[0];
                document.getElementById("<%=textboxname %>").value = strs[1];
            }
        }
      

  2.   

    imagebutto 弹出一页时,把textBox的ClientID当作参数传过去
    在js中也可以用this.id 表示
      

  3.   

    我那个"<%=HiddenField1Name %>").("<%=textboxname %>").
    对应的就是在cs页写的  
                 HiddenField1Name=HiddenField1.ClientID;
                textboxname = this.TextBox1.ClientID;
      

  4.   

    你的意思是 我传进去,然后在传出来 用这个id去寻找textBox 然后赋值
      

  5.   

    function fortable1(hidid,txtid) {        var arr = window.showModalDialog("../../../mycontrol/staffbm.aspx", "", "dialogWidth:420px;dialogHeight:600px;status:no;help:no;scroll:yes;resizable:no");
             <%ClientScript.GetCallbackEventReference(obj,"",GetCallback,null)%>         if (arr != null) {
                var strs = new Array(); //定义一数组
                strs = arr.split(";"); //字符分割
                document.getElementById(hidid).value = strs[0];
                document.getElementById(txtid).value = strs[1];
            }
        }//在自定义控件里Page_load里写上
    imgOpen.Attrubute.Add("onlick","fortable1('"+hid.ClientID+"','"+txt.ClientID+"')");
      

  6.   

    谢谢 按照你的方法问题解决了!
    但是 我访在Page_load没好使 没有调出页面
    我在image的事件中调用的fortable1
    非常感谢