今天敲代码的时候遇到个小麻烦:
制作了一个HTML登陆界面,想把里边的用户名和密码传回WindowsForm1界面并显示。但是总是报错,后
来发现了原来是ID与Name的问题。
在敲牛腩的时候,对于ID的认识,就是唯一的标识,但是与Name的区别却没有注意。这里遇到了,赶紧赶
紧的补上哈!
主要区别
虽然ID和Name都是标识,但是在真正用的时候,Name和ID有时候是不能相互替代的。下面就列举一下各
自的使用范围:
一、Name的用途:
1、作为与服务器交互数据的HTML元素的服务器端的标识。如:input,select,textarea和button等。我们
可以在服务器端根据其Name通过Request.Params取得元素提交的值。这个也就能解释我为什么出错了,因为在
HTML页,我用的是ID,所以在向服务器端传值的时候传不过去,才会报错。只要把Name的值加上后就解决了!
2、在HTML页,radio button控件在同一个分组类的时候,同一时间只能选中一个radio,这个分组就是根据
相同的Name属性来实现的。
3、建立页面中的锚点,当获取一个页面的超链接时,如果不用href属性,用Name也是可以的。
4、作为对象的Identity,使用Name来引用该对象。
以上的这些都是ID不能代替的。
二、ID的作用:
1、用ID选择相应的style sheet.
2、用<A id=...>链接目的地。
3、脚本语言通过标签的ID找到目的地。
4、作为标签或块的区分标志。
作用域
只能用Name的情况:
1、表单(form)的控件名。
2、frame和window的名字。
只能用ID的情况:
1、label与form控件的关联。
<label for="MyInput">My Input</label>
<input id="MyInput" type="text">
2、CSS的元素选择机制,以#MyID的方式制定应用样式的元素,只能用ID。
3、脚本中获得对象,在脚本中直接以ID应用该ID标识的对象。
总结
真的是小小的问题,引发大大的思考,原来ID和Name还有这么大的区别,不查一下真的不知道。在敲代码
的过程中还是要细心一点,多多积累这些小小的知识。