ASP.NET中HTML控件和WEB控件

ASP.NET中集成了这两种控件,我看到好多人都说WEB控件比HTML控件要好,既然要好,为什么还要HTML控件,为什么还有DREAMWEAVER这样的做HTML的工具,我想知道HTML还有什么优势吗,我知道一个在服务器运行、一个在客户端运行,我就是想知道HTML控件具体做什么东西有优势,WEB控件做什么有优势

你说的WEB控件指的就是ASP.NET控件吧? 比如<ASP:Textbox ... />
HTML控件是为了兼容性考虑的,如果你直接用ASP.NET独有的控件,这个网页就不能再其他程序中正常编辑,比如Dreamweaver,这样不方便网页设计师和程序开发人员的分工协作。还有一些Javascript对ASP.NET控件的兼容性也不太好;

另外ASP.net控件或多或少会消耗一些服务器资源,这些控件最终会经过服务器的转换成为HTML控件,这一转换是要消耗资源的,但是这种消耗微乎其微。
比如<ASP:Textbox>对应<input type="text>, <ASP:button>对应<input type="button">或者<input type="submit>, <ASP:Label>对应<Span>

所以一般情况下能用ASP.NET控件的尽量用ASP.NET控件,它的功能远比HTML控件强大。另外上传文件也可以用ASP.NET控件。

Dreamweaver是做设计用的,不是搞编程,而且他不只为ASP.NET服务,其他服务器端编程技术比如PHP,JSP都是以HTML控件为基础,不像ASP.NET设计了一套独有的控件。

还有“一个在服务器运行、一个在客户端运行”你这个理解是错误的,即使是HTML控件加上runat="server"也一样是在服务器端运行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-09
html控件相对于web控件来说更加自由.而且web控件尚且无法一一与html控件对应.所以,现在的.net都是html与web控件混合的设计.最可以说明这一点的是,上传文件一定要用到html控件,而无法只使用web控件
第2个回答  2009-04-10
HTML的按钮就远远比asp.net控件的按钮强很多,用户体验感觉很好,我做网页都是用的html按钮,会提示不会回传,而控件按钮有错了还会回传,很不好
不要说asp.net的控件都比html的强大,asp.net控件的强大就在于能在后台掉用,而html的不能,这是最大的区别
第3个回答  2009-04-10
HTML控件:节省服务器资源
WEB控件:功能更强
能用HTML控件就尽量用HTML控件
第4个回答  2009-04-09
其实很简单 就是开发工具的进化而已
新一代的产物
个人认为HTML控件比较不伦不类 是为了兼容传统HTML诞生的产物
一般来说WEB控件比较占资源 因为会贮存在内存中
但是我见过人做过分别循环1W个控件
Web Control和Html Control的区别是微乎其微的
当然WebControl的功能更强大 服务器端可操作的属性更多

个人习惯普通操作用WebControl
十分简单的功能还有跟Javascript等联系比较密切的话
会用HtmlControl
相似回答