第1个回答 2013-12-22
很简单 .net web控件是需要经过服务器编译的控件,但是编译之后他任然是以<input type="">的html控件的形式存在,只不过微软通过附加一些脚本代码来让它能够实现触发服务器端onclick事件的功能。你可以通过查看网页的源代码发现这个问题。
html控件是asp时代用得最多的控件,都是存在于客户端的,当数据做提交的时候会获取表单内这些控件的值然后传给服务器端做处理,这个提交的操作之前能够在客户端对这些控件进行一些基本的数据验证之类的功能,由于在客户端实现数据验证,对服务器的压力会比较小。
总之,既然你已经开始进入.net,就不要仍然用老的思路和方法来实现功能,最好使用web控件,不过要注意的是web控件为了实现服务器端的代码,几乎每个控件都是需要刷新页面的,要和服务器实现互动,这样无形加重了服务器端的压力。原因是b/s架构的网页除非是用ajax或者iframe之类的无刷新技术,否则基本上只能通过刷新页面来实现控件和服务器的数据传递互动。