首页 新闻 会员 周边

html标记中的name属性和js和asp.net模板中的标记属性id的联系和区别?

0
悬赏园豆:10 [已解决问题] 解决于 2011-01-15 22:44

<input type=Button name="Button2" Text="Button" />
<asp:Button ID="Button2" runat="server" Text="Button" />

问题补充: <Button ID="Button2" runat="server" Text="Button" />如果加了runat="server" 那么它就变成了服务器控件,在生成html控件时会同时生成id和name两个属性并且id和name两个属性的值是一样的。 1.生成name的目的是为了能够提交表单时把有name属性的控件的值提交到服务器。 2.另一个目的是因为html只能通过name属性来找到某个标记 而js和服务器的后台C#则只能够通过ID属性来找到某个标记所以服务器控件会同时生成带有iD和name的html控件以供三方都能用。 3.现在又有一个新问题了HTML标记中可以有ID这个属性吗? 如果有那么这个ID是给谁提供的?难道就是一个不同的属性吗? 这个ID是为JS提供的如document.getElementById("elementid"); 4.还有一点就是客户端点击控件触发事件发出请求当请求参数到达服务器端,首先更新恢复动态模板中的控件属性,然后服务器端在恢复控件和视图状态的同时通过请求参数控件的ID于服务器页面的控件ID进行比较,如果点击的客户端控件的ID与服务器端的控件的iD相同则触发服务器端的控件事件。 -----以上是个人总结出来的不知道对不对希望各位指点!
旅行者1号的主页 旅行者1号 | 初学一级 | 园豆:170
提问于:2010-12-27 19:06
< >
分享
最佳答案
0

html当然可以有id属性,也可以有name属性,其实有了id,name就可以舍去了,但是为了兼容以前的html,name属性就没有舍去。。。

收获园豆:10
顾晓北 | 专家六级 |园豆:10844 | 2010-12-28 09:19
你的意思是说html也可以通过html标签的id属性来找到或者操纵这个标签吗?
旅行者1号 | 园豆:170 (初学一级) | 2010-12-28 09:52
晕,当然了。你在js里面document.getElementById("elementid"); 这样dom操作得不到元素吗?
顾晓北 | 园豆:10844 (专家六级) | 2010-12-28 10:04
嗯有道理希望您能帮我看看我上面的总结是否有不对的地方!十分感谢!
旅行者1号 | 园豆:170 (初学一级) | 2011-01-02 15:54
最后一条的那个机制是怎样的,具体我也不是很清楚,找相关资料吧。
顾晓北 | 园豆:10844 (专家六级) | 2011-01-04 11:05
其他回答(2)
0

asp.net模板中的标记属性id你可以查看这里http://apps.hi.baidu.com/share/detail/17763102

至于html里面的name我的理解知识把一些元素规划成一个组,以便方便的获取这一组数据,例如radio等等

Tear Y | 园豆:784 (小虾三级) | 2010-12-27 19:19
0

总体上是没有什么区别的,在ASP。net中主要是方便对控件的寻找,在js脚本中也是同样的形式,都是方便编写的方法调用控件的属性,在具体点就是和内存的数据存储有关系了,

中中 | 园豆:215 (菜鸟二级) | 2010-12-27 19:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册