html控件 和 web控件的区别

来源:百度知道 编辑:UC知道 时间:2024/05/12 18:03:55

HTML控件不具备任何抽象能力。每种控件与标记都是一一对应的。
Web控件创建了更高级别的抽象,它们没有任何对应的HTML标记(如Calendar和DataGrid)。因为它们不直接映射为HTML标记,所以Web控件还能够在适当的场合起到合并功能的作用(例如用一个TextBox控件来代替多个标记)。这种抽象为使用第三方提供的种类丰富的控件工具箱打开了方便之门。
对象模型
HTML控件提供了以HTML为中心的对象模型。每种控件都包括一个属性集,可以使用该属性集来控制标记的属性。这个属性集使用了字符串名/值对,并且不是强类型的。
在使用HTML控件时,您的编程方式与使用传统的ASP进行编程十分类似。因而,HTML控件提供了一条快捷的移植途径-可以通过添加一个runat="server"属性来将一个标记转变为一个服务器控件。
Web控件提供了基于表单的、类似于VisualBasic的编程模式。它们也提供了属性集,但它们的主要目标在于提供一种格式丰富、类型安全且具有一致性的对象模型。每种Web控件都包含一组标准的属性,如ForeColor、BackColor、Font等。
这种对象模型还在像VisualStudioNET这样的设计工具中提供了更丰富的设计时体验。
目标浏览器
HTML控件不会自动检测请求页面的浏览器的能力,也不会修改它们提供的HTML。在使用这组控件时,您要负责确保您的页面能同时在高级和低级浏览器上工作。
Web控件能够自动对它们生成的结果进行调整,以确保输出结果在高级浏览器和低级浏览器上的工作同样出色。Web控件还能够针对不同的浏览器提供不同的行为,从而充分发挥浏览器的潜力。例如,validation控件还可以通过客户端的脚本来创建用于高级浏览器的具有高度交互性的页面。
对生成的HTML的控制
HTML控件允许您完全控制所显示的内容以及发送到客户机浏览器的内容。
Web控件提供了更为丰富的对象模型,以及适应多种浏览器的能力。因而,它们没有提供对输出结果的相同程度的控制能力。
在开发应用程序时,可以根据这两组控件的能力以及您的需求来从中进行选择。还可以选