一个是服务器控件,你可以触发它的事件,input runat=server了可以在服务器端访问,但没有事件。

解决方案 »

  1.   

    但是我遇到一个非常奇怪的问题,我一开始用<asp:checkbox id="cbTest" runat="server"></asp:checkbox> 然后在后台代码写上 cbTest.Enable=false;
    但是我在客户端的javascript中写的 document.all("cbTest").disabled=false
    却不起作用,而如果用<INPUT type="checkbox" id="cbTest" runat="server"> 
    则客户端的脚本能起到控制作用??他们在解释到客户端的时候难道还有别的什么
    区别吗???
      

  2.   

    cbTest.Enable=false表示禁用了,发送到客户端的html就没有它了
      

  3.   

    那为什么在<INPUT type="checkbox" id="cbTest" runat="server">  用cbTest.Enable=false 而在客户端的脚本却能控制呢?????而在
    <asp:checkbox id="cbTest" runat="server"></asp:checkbox>用cbTest.Enable=false
    ,在客户端就不能控制呢???
      

  4.   

    就应用来说没什么本质的区别,asp:checkbox最终还是被解释为<input type=checkbox
    至于你说的在客户端不能引用asp:checkbox,哪是因为在asp.net将aspx解释为html是就可能将它的id 改为了asp.net怎么生成的id了我认为其它控件的情况以是差不多的
      

  5.   

    to enhanwei(海阔天空) :
    我不相信你用 cbTest.Enable=false 可以在客户端禁用这个控件,因为dhtml中根本就没有 Enable 这么个属性,而只有 disabled ,如果你用 disabled 也无法禁用它,那么一定是这个CheckBox被嵌套在别的控件中(比如Repeater、DataGrid等)而使它在客户端的ID与服务器ID不同所致,要在服务器端获得客户端ID,你可以用服务器控件的 ClientID 属性值。