设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP

Web 窗体简介

作者:佚名 出处:网络转载 时间:05-11 点击:

内容载入中...
概述

Active Server Pages+ (ASP+) 框架,也称为 Web 窗体,可用来创建可编程的网页,以便将它们作为总体 Web 应用程序的组成部分。Web 窗体在以下方面简化了 Web 应用程序的开发:

  • 在服务器上提供了基于事件的编程模式,这类似于像 Microsoft Visual Basic® 开发系统这样的基于 Microsoft® Win32® 的开发工具中所使用的、基于表单的开发模式。

  • 允许 HTML 标记与应用程序逻辑的完全分离。逻辑,即页面后的代码,是经过编译的,因而其性能得到了大大提高。此外,您可以使用任何一种 Microsoft® .NET 语言来编写代码,从而使您能更充分地发挥现有的技能。

  • 实现了丰富的设计时体验。Visual Studio® .NET 为创建和管理 Web 窗体提供了快速应用程序开发(RAD)功能。

  • 支持种类丰富、功能强大的控件和 .NET 组件组,提供了统一的、对类型安全的对象模型。此外,该框架还通过定制组件或第三方组件使自身自然适应扩展性的需要。

本文将重点说明已实现为该框架的组成部分的服务器控件。ASP+ 的其它方面,如缓存、安全、配置和定制,也同样重要。对这些问题的详细说明,可以在 .NET SDK 文档的“开发人员指南”一节中找到。

服务器控件用于创建您的 Web 应用程序的用户界面。它们可以生成适用于目标设备或浏览器的任何输出。在 ASP+ 框架中有两组服务器控件:“HTML 控件”和“Web 控件”,这两组控件都能提供用于 Web 浏览器的 HTML。除了提供 HTML 之外,它们还封装有在往返行程中保留状态以及为各种客户机事件产生服务器端事件的机制。同时,它们还能用作复合控件的组成部分。

下面的各节内容将详细说明这两组控件。

HTML 控件

ASP+ 框架中的第一组控件称为 HTML 控件。这些控件位于 System.Web.UI.HtmlControls 命名空间中,是从 HtmlControl 基类中直接或间接派生出来的。图 1 说明了 HTML 控件的类层次结构。

图 1. ASP+ HTML 控件

对于任何包含 runat="server" 属性的标记,都会为其生成 HTML 控件的实例。例如,下面的 HTML 可创建一个名为“textBox1”的 HtmlInputText 控件的实例:

<input type="text" runat="server" id="textBox1" value="some text">

下表中列出了 HTML 控件以及对应的 HTML 标记。

表 1. HTML 控件标记

控件 对应的标记 HtmlAnchor <a> HtmlButton <button> HtmlSelect <select> HtmlTextArea <textarea> HtmlInputButton <input type="button"> HtmlInputCheckBox <input type="check"> HtmlInputRadioButton <input type="radio"> HtmlInputText <input type="text"> 和 <input type="password"> HtmlInputHidden <input type="hidden"> HtmlInputImage <input type="image"> HtmlInputFile <input type="file"> HtmlForm <form> HtmlImage <img> HtmlTable <table> HtmlTableRow <tr> HtmlTableCell <td> HtmlGenericControl 任何其它没有对应控件的标记,如 <span>、<div> 等。

因为 HTML 控件与 HTML 标记直接对应,所以在将现有的 ASP 页面移植到 ASP+ 上时,它们将会大显身手。本文稍后的部分将对这些控件以及与它们对应的 Web 控件进行比较。


Web 控件

ASP+ 框架中的第二组服务器控件称为 Web 控件。这些控件位于 System.Web.UI.WebControls 命名空间中,是从 WebControl 基类中直接或间接派生出来的。图 2 说明了 Web 控件的类层次结构。

图 2. ASP+ Web 控件

Web 控件中包括传统的表单控件,如 TextBoxButton ,以及其它更高抽象级别的控件,如 CalendarDataGrid 控件。它们提供了一些能够简化开发工作的特性,其中包括:

  • 丰富而一致的对象模型:WebControl 基类实现了对所有控件通用的大量属性,这些属性包括 ForeColorBackColorFontEnabled 等。属性和方法的名称是经过精心挑选的,以提高在整个框架和该组控件中的一致性。通过这些组件实现的具有明确类型的对象模型将有助于减少编程错误。

  • 对浏览器的自动检测:Web 控件能够自动检测客户机浏览器的功能,并相应地调整它们所提交的 HTML,从而充分发挥浏览器的功能。

  • 数据绑定:在 Web 窗体页面中,可以对控件的任何属性进行数据绑定。此外,还有几种 Web 控件可以用来提交数据源的内容。

在 HTML 标记中,Web 控件会表示为具有命名空间的标记,即带有前缀的标记。前缀用于将标记映射到运行时组件的命名空间。标记的其余部分是运行时类自身的名称。与 HTML 控件相似,这些标记也必须包含 runat="server" 属性。下面是一个声明的示例:

<asp:TextBox id="textBox1" runat="server" Text="[Entry Keywords]"></asp:TextBox>

在上例中,“asp”是标记前缀,会映射到 System.Web.UI.WebControls 命名空间。

||||||本节的其余部分将介绍已在 PDC 和 Beta 1 发行版中实现的 Web 控件。每个控件都带有简要的说明、声明示例和它在浏览器中的显示效果示例。按功能对这些控件进行了分类。

文本显示

Label 控件用于在页面中显示只读的静态文本或数据绑定的文本:

<asp:Label runat="server" Text="Label1" Font-Italic="true"></asp:Label>



   

输入控件

Web 控件组中包含的一些控件,允许最终用户输入将由服务器上的页面处理的数据。

TextBox 控件用于提供文本编辑能力。与 Label 控件相似,这里的文本也可以是数据绑定的。TextBox 控件支持多种模式,可以用来实现单行输入、多行输入和密码输入:

<asp:TextBox runat="server" Text="TextBox1"></asp:TextBox>

<asp:TextBox runat="server" Mode="Multiline" Rows="3">
document.getElementById('loading').style.display="none";

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口
>> 下一篇 :深入讲解 ASP+ 验证