validation 控件
validation 控件简化了对用户输入的内容进行验证的工作。它们能自动为上层浏览器生成客户机端脚本,以便在进行回传前,在用户的计算机上进行验证,从而实现了交互性和对用户友好性更加良好的页面。与此同时,它们也能在服务器上作为第二道防线来完成同样的工作。“有关的参考资料”一节中列出的其它文章对此进行了详细说明。
- requiredfieldvalidator 控件用于确保用户填写了必须输入的那些输入控件。
- rangevalidator 控件用于检查用户输入的内容在有效取值范围之内。这对于数字或日期类型的输入内容十分有用。
- comparevalidator 控件用于对比一个控件中的输入内容与另一个控件中的输入内容。
- regularexpressionvalidator 控件能够检查用户输入的内容是否符合作为标准的规范表达式(或字符串模式)。
- customvalidator 控件允许您提供自定义的服务器端和客户机端验证逻辑。
- validationsummary 控件能够提供由验证控件生成的所有错误信息的概要。
零杂控件
adrotator 控件用于显示广告或横幅。广告的有关信息(包括其图像的 url)使用 xml 文件来定义:
<asp:adrotator runat="server" advertisementfile="adslist.xml"></asp:adrotator>

在开发这些控件时,我们反复地问自己,是否真的有必要同时提供具有一些重复功能的 html 控件组和 web 控件组。您肯定也想了解 html 控件和 web 控件究竟有什么异同,以及它们各自适用的场合。
这两组控件的异同可以通过以下方面来比较。
控件抽象
- html 控件不具备任何抽象能力。每种控件与 html 标记都是一一对应的(请参见表 1)。
- web 控件创建了更高级别的抽象,它们没有任何对应的 html 标记(如 calendar 和 datagrid)。因为它们不直接映射为 html 标记,所以 web 控件还能够在适当的场合起到合并功能的作用(例如用一个 textbox 控件来代替多个标记)。这种抽象为使用第三方提供的种类丰富的控件工具箱打开了方便之门。
对象模型
- html 控件提供了以 html 为中心的对象模型。每种控件都包括一个属性集,可以使用该属性集来控制标记的属性。这个属性集使用了字符串名/值对,并且不是强类型的。
在使用 html 控件时,您的编程方式与使用传统的 asp 进行编程十分类似。因而,html 控件提供了一条快捷的移植途径 — 可以通过添加一个 runat="server" 属性来将一个标记转变为一个服务器控件。
- web 控件提供了基于表单的、类似于 visual basic 的编程模式。它们也提供了属性集,但它们的主要目标在于提供一种格式丰富、类型安全且具有一致性的对象模型。每种 web 控件都包含一组标准的属性,如 forecolor、backcolor、font 等。
这种对象模型还在像 visual studio .net 这样的设计工具中提供了更丰富的设计时体验。
目标浏览器
- html 控件不会自动检测请求页面的浏览器的能力,也不会修改它们提供的 html。在使用这组控件时,您要负责确保您的页面能同时在高级和低级浏览器上工作。
- web 控件能够自动对它们生成的结果进行调整,以确保输出结果在高级浏览器和低级浏览器上的工作同样出色。web 控件还能够针对不同的浏览器提供不同的行为,从而充分发挥浏览器的潜力。例如,validation 控件还可以通过客户端的脚本来创建用于高级浏览器的具有高度交互性的页面。
对生成的 html 的控制
- html 控件允许您完全控制所显示的内容以及发送到客户机浏览器的内容。
- web 控件提供了更为丰富的对象模型,以及适应多种浏览器的能力。因而,它们没有提供对输出结果的相同程度的控制能力。
在您开发 web 应用程序时,您可以根据这两组控件的能力以及您的需求来从中进行选择。您还可以选择在同一页上混合使用这两组控件,使用一种类型的控件并不妨碍您同时使用另一种类型的控件。
web 窗体和服务器控件为 web 页面和应用程序提供了相同的快速程序开发(rad)体验
即将发布的 microsoft visual studio.net 将包含有 web 窗体设计器,visual basic 和 visual c++®(特别是 c#)也将共享这一设计器。它提供了 visual basic 开发人员所熟知并喜爱的、基于表单的高效编程模式。图 3 展示了 web 窗体设计体验的各个方面。

图 3. visual studio.net web 窗体设计器
工具箱允许将像控件这样的可见组件,以及像数据集和其它服务器组件这样的不可见组件,拖放到设计工作台上。
设计工作台自身能以所见即所得的方式在页面上显示控件。该设计器还有一个相关联的后台代码窗口,可以在该窗口中创建并编辑页面背后的逻辑。通过双击组件和控件,就可以前往这个后台代码窗口中的相应代码。property browser(属性浏览器)使您能够自定义设计工作台上的组件。
solution explorer(解决方案浏览器)和项目用来管理和部署会在您的 web 应用程序中出现的组件、页面、后台代码文件和其它内容文件。
这个开发环境中还包括一个已翻新的调试程序,用来帮助您轻松地调试 web 应用程序。
.net sdk 包含有上述所有控件的参考文档,其中详细说明了相关的类、属性、方法和事件。
sdk 中还以“快速入门(quick starts)”的形式提供了大量的示例,用于演示这些控件在 web 页上的应用。
此外,msdn library 中还有一些文章更深入地讨论了其中的一些控件:
- 使用 asp+ 列表绑定控件(英文)介绍了 repeater、datalist 和 datagrid 控件并讨论了大量的背景概念。
- 使用 asp+ datagrid 控件来创建主视图/详细资料视图(英文)讨论了 datagrid 控件的各种特性。