ASP.NET 在用户控件上,放一个input控件,在运行时,为什么会在控件的ID前面加上用户控件的ID

解决方案 »

  1.   

    因为是一个整体,控件Render的时候会加上服务端控件的ID。应该可以通过重写RenderControl?来处理。
      

  2.   

    好久没摸Asp.net了,我试一下。
      

  3.   

    input 你的input控件是不是加上runat=server了?
    我试了试直接写的<input id="xxx" name="xxx" 没有被加上ServerControl ID
      

  4.   

    难道是为了防止ID重复?
    我在页面上放一个input1,在用户控件里也放一个input1,ID怎么区分?
      

  5.   

    恩加了ruant = server因为我要在后台取值呀,所以不加不行
      

  6.   

    如果你不想加服务器控件的ID。那你就把runant=server干掉。然后submit后,在后台可以用request.form["控件名"]也可以的!
      

  7.   

    那说说你不想加ServerControlID的理由?前台javascript是可以通过服务端.ClientID获取到实际的名称的。
      

  8.   

    需要在前台用JS获得控件的ID 怎么取 document.getElementById("<%=btnHidden.ClientID%>")这样会报错
      

  9.   

    这样取值就得加上 runant=server 了