<input name="FileUploadControl3:WCCLhf" id="FileUploadControl3_WCCLhf" type="file" style="font-size:9pt;" />上面这段HTML源码(ASPX页面运行后得到的结果)中的 id 和 name 属性有何不同?各有什么作用?

解决方案 »

  1.   

    asp.Net要用id这个属性来对控件进行存取,name属性则是javascript时使用。
      

  2.   

    在aspx中id属性是对控件操作的标识,而name属性在html脚本语言中用到,aspx中没有name属性。
    所以aspx中无法调用name属性。
      

  3.   

    name="FileUploadControl3:WCCLhf" id="FileUploadControl3_WCCLhf" 
    上面的控件在ASPX里的声明应是:WCCLhf
    但是这个控件是放在一个控伯容器里面的(如:DataGrid,DataList,Panel),这里因为.NET实现INAMINGContainer接口[保证控件命名的唯一性],这时它生成出来的HTML代码的name格式就是:[父控件ID:原本ID],ID的格式是:[父控件ID_原本ID],也正是我们在后台JS处理代码时要用到:控件名.ClientID的原因,
      

  4.   

    name 是在js中用如
    <input name="FileUploadControl3:WCCLhf" id="FileUploadControl3_WCCLhf" type="file" style="font-size:9pt;" /><script>
    //可以通过name来访问属性
    FileUploadControl3.style="font-size:9pt;" 
    </script>但是在后台是通过id来访问的
    <%
    request.form(0).FileUploadControl3_WCCLhf.value="hello";
    %>