HtmlGenericControl 任何其它没有对应控件的标记,如 、
等。 Web 控件 ASP+ 框架中的第二组服务器控件称为 Web 控件。这些控件位于 System.Web.UI.WebControls 命名空间中,是从 WebControl 基类中直接或间接派生出来的。 Web 控件中包括传统的表单控件,如 TextBox 和 Button ,以及其它更高抽象级别的控件,如 Calendar 和 DataGrid 控件。它们提供了一些能够简化开发工作的特性,其中包括: 对象模型:WebControl 基类实现了对所有控件通用的大量属性,这些属性包括 ForeColor、BackColor、Font、Enabled 等。。通过这些组件实现的具有明确类型的对象模型将有助于减少编程错误。 对浏览器的自动检测:Web 控件能够自动检测客户机浏览器的功能,并相应地调整它们所提交的 HTML,从而充分发挥浏览器的功能。 在上例中,“asp”是标记前缀,会映射到 System.Web.UI.WebControls 命名空间。 文本显示 Label 控件用于在页面中显示只读的静态文本或数据绑定的文本: 输入控件 Web 控件组中包含的一些控件,允许最终用户输入将由服务器上的页面处理的数据。 TextBox1 CheckBox 控件用于生成能够在选中和清除这两种状态间切换的复选框: RadioButton 控件与 CheckBox 控件相似,但使用时通常会与其它 RadioButton 控件组成一组,以提供一组互斥的选项: 选择 下面的四个控件提供了允许用户从展示给他们的选项中进行选择的机制。选项列表的内容既可像下面的示例中那样是静态定义的,也可以使用数据源来动态填充。 DropDownList 控件提供了将选项显示为下拉式列表,并从中进行单项选择的能力: ListBox 控件能够以可滚动列表的形式显示选项,并允许从中选择单个或多个选项: CheckBoxList 控件用于创建一组显示为一列或多列的 Checkbox 控件: RadioButtonList 控件与 CheckBoxList 控件非常相似。不同之处在于,它使用的是一组 RadioButton 控件以创建一组互斥的选项: 表单提交和回传 下列控件用于将带有用户输入值的页面提交给服务器,以便用页面中的代码对这些值进行处理。这些控件会在服务器上产生一个 Click 事件,在代码中使用。 Button 控件可以生成一个能够将页面再提交给服务器的三维按钮: LinkButton 控件的行为与 Button 控件相同。但它在页面上会显示为一个超级链接: ImageButton 控件也用于提交页面。它会显示为一幅图像,并且能够提供用户单击位置的 x 坐标和 y 坐标: 导航 HyperLink 控件用于生成能够跳转到其它 URL 的链接: 图像显示 Image 控件能够在页面上显示图像: 版面控件 Panel 控件常用作简单的组合控件以及动态创建的控件的容器,Panel 控件通常不具有可见的外观。 日期选择 Calendar 控件能够让用户浏览日期并进行日期选择(包括选择日期范围): ... 列表绑定控件 其他功能控件 DataList 控件也使用模板来显示与之绑定的数据源 ... ... DataGrid 控件能够创建列表版式,用来显示与之绑定的数据源的内容。它提供了对排序、编辑和分页的支持。 ... ... Validation 控件 Validation 控件简化了对用户输入的内容进行验证的工作。它们能自动为上层浏览器生成客户机端脚本,以便在进行回传前,在用户的计算机上进行验证,从而实现了交互性和对用户友好性更加良好的页面。与此同时,它们也能在服务器上作为第二道防线来完成同样的工作。“RequiredFieldValidator 控件用于确保用户填写了必须输入的那些输入控件。 RangeValidator 控件用于检查用户输入的内容在有效取值范围之内。这对于数字或日期类型的输入内容十分有用。 CompareValidator 控件用于对比一个控件中的输入内容与另一个控件中的输入内容。 RegularExpressionValidator 控件能够检查用户输入的内容是否符合作为标准的规范表达式(或字符串模式)。 CustomValidator 控件允许您提供自定义的服务器端和客户机端验证逻辑。 ValidationSummary 控件能够提供由验证控件生成的所有错误信息的概要。 零杂控件 AdRotator 控件用于显示广告或横幅。广告的有关信息(包括其图像的 URL)使用 XML 文件来定义: HTML 控件与 Web 控件的比较 控件抽象 HTML 控件不具备任何抽象能力。每种控件与 HTML 标记都是一一对应的。 Web 控件创建了更高级别的抽象,它们没有任何对应的 HTML 标记(如 Calendar 和 DataGrid)。因为它们不直接映射为 HTML 标记,所以 Web 控件还能够在适当的场合起到合并功能的作用(例如用一个 TextBox 控件来代替多个标记)。这种抽象为使用第三方提供的种类丰富的控件工具箱打开了方便之门。 对象模型 HTML 控件提供了以 HTML 为中心的对象模型。每种控件都包括一个属性集,可以使用该属性集来控制标记的属性。这个属性集使用了字符串名/值对,并且不是强类型的。 在使用 HTML 控件时,编程 Web 控件提供了基于表单的、类似于 Visual Basic 的编程模式。它们也提供了属性集,但它们的主要目标在于提供一种安全且具有一致性的对象模型。每种 Web 控件都包含一组标准的属性,如 ForeColor、BackColor、Font 等。 这种对象模型还在像 Visual Studio NET 这样的设计工具中提供设计时体验。 目标浏览器 HTML 控件不会自动检测请求页面的浏览器的能力,也不会修改它们提供的 HTML。 Web 控件能够自动对它们生成的结果进行调整,以确保输出结果在高级浏览器和低级浏览器上的工作同样出色。Web 控件还能够针对不同的浏览器提供不同的行为,从而充分发挥浏览器的潜力。例如,validation 控件还可以通过客户端的脚本来创建用于高级浏览器的具有高度交互性的页面。 对生成的 HTML的控制 HTML 控件允许完全控制所显示的内容以及发送到客户机浏览器的内容。 Web 控件提供了更为丰富的对象模型,以及适应多种浏览器的能力。因而,它们没有提供对输出结果的相同程度的控制能力。 在开发 Web 应用程序时,可以根据这两组控件的能力以及需求来从中进行选择。还可以选择在同一页上混合使用这两组控件,使用一种类型的控件并不妨碍同时使用另一种类型的控件。 Web 窗体和 RAD 体验 Web 窗体和服务器控件为 Web 页面和应用程序提供了相同的程序开发(RAD)体验 工具箱允许将像控件这样的可见组件,以及像数据集和其它服务器组件这样的不可见组件,拖放到设计工作台上。 设计工作台自身能以所见即所得的方式在页面上显示控件。该设计器还有一个相关联的后台代码窗口,可以在该窗口中创建并编辑页面背后的逻辑。通过双击组件和控件,就可以前往这个后台代码窗口中的相应代码。Property Browser(属性浏览器)能够自定义设计工作台上的组件。 Solution Explorer(解决方案浏览器)和项目用来管理和部署会在 Web 应用程序中出现的组件、页面、后台代码文件和其它内容文件。
参考资料
最新修订时间:2023-06-07 18:45 |