源文件
<input runat="server" id="btClose" type="image" src="~/userimg/close.gif" 
onclick="Keepheight('<%=getControlName() %>',this.id);return false;" value="关闭"/>执行文件后在浏览器中查看源文件看到的是这样:
<input src="userimg/close.gif" name="UserAddressBook1$btClose" type="image"
id="UserAddressBook1_btClose" onclick="Keepheight('&lt;%=getControlName() %>',this.id);return false;" 
value="关闭" />

解决方案 »

  1.   

    btClose.Attributes.Add("onclick", "Keepheight(\"" + getControlName ()+ "\")");
      

  2.   

    1.去掉runat="server"你的写法就对了~~2.如果用到了runat="server",那么,还是在CS里用btClose.Attributes.Add添加吧~
      

  3.   

    你加了runat="server"就在后台
    page_load中给这个按钮添加AttributebtClose.Attributes.Add("onclick", "Keepheight('" + getControlName ()+ "')");要不你就把runat="server"去掉
      

  4.   

    楼上方法就可,删除runat="server"
      

  5.   

    谢谢大家,问题解决了,因为btClose是自定义控件里的,我还需要在脚本中使用id="UserAddressBook1_btClose" 中的UserAddressBook1_ ,如果去掉runat=server 的话id就成btClose,而不是UserAddressBook1_btClose,
    所以只能用
    btClose.Attributes.Add("onclick", "Keepheight('" + getControlName ()+ "')");方式了。