首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

控件是构建图形用户界面(GUI)的模块。您可能熟悉的控件包括:按钮、复选框和列表框。控件为用户提供了显示偏好、输入数据或者做出选择的途径。它们也可以在一定范围内,提供基础功能方面的支持,例如,验证、数据操作、母版页和安全性。

Web控件共包括四种类型(除了第一种类型,其他类型都将在本章和后续章节中详细介绍):

HTML控件

最初的控件可用于任何HTML页面。就如同它们工作在其他网页中一样,也都能工作在ASP.NET页面中。在本书中,HTML控件会在适当的地方使用,但不会详细讨论。一个不错的有关HTML控件的资源,是O'Reilly出版,由Chuck Musciano和Bill Kennedy所著的《HTML和XHTML权威指南(第五版)》(HTML and XHTML: The Definitive Guide, Fifth Edition)。

HTML服务器控件

它们是基于最初的HTML控件,但是功能有所增强,可以在服务器端执行处理。

ASP.NET服务器控件

这些丰富的、可扩展的服务器控件集成在ASP.NET编程模型中。它们在客户端呈现为HTML,并提供了与HTML服务器控件相同,甚至更多的功能。

用户控件和自定义控件

由开发人员创建的控件。第14章中将讨论用户控件和自定义控件。

ASP.NET服务器控件(由于在内容文件中编写它们,有时也称为ASP控件)是ASP.NET的核心。它通过在服务器端集成和遵循.NET Framework的面向对象编程模型,从而替代

了传统的客户端HTML控件。更为重要的是,它克服了HTML控件中设置属性的所有困难:ASP.NET服务器控件是可预置的。

ASP.NET服务器控件类似于传统的HTML元素,它能在内容文件(页面文件、用户控件文件或者母版页文件)中声明,也能通过编程方式实例化,并在C#(或者其他.NET语言)程序集中处理。

除了直观的表单元素,例如文本框、标签、按钮和复选框之控件外,ASP.NET服务器控件还包括其他类型,这使得开发人员输入较少的代码,就可获得丰富的功能。这些控件包括:

验证控件

这类控件提供了全面的内建于窗体的验证能力。第8章中将讨论验证控件。

数据源控件

这类控件可以针对各种数据源实现数据绑定功能,这包括微软的SQL Server和Access,以及其他关系型数据库、XML文件和代码中实现的类。第9章将介绍数据源控件。

数据视图控件

这类控件呈现为各种列表和表格,它们可以绑定到数据源以显示和编辑数据。第9章将讲解数据视图控件。

个性化控件

这类控件允许用户个性化地展示自己的站点,包括重新调整网页本身等。用户信息会被自动地、透明地保存,并从一个会话持续到下一个会话。第13章将讲解个性化功能。

登录控件和安全控件

这类控件实现站点中的普通登录功能,并维护用户的密码。第12章中将介绍登录控件和安全控件。

母版页

该功能可帮助您创建具有一致布局和用户界面的Web站点。第11章中将讲解母版页。

富控件(Rich Controls)

除了以上控件,富控件实现诸如菜单、树形视图和向导这样的特殊功能。

提示:ASP.NET 1.x所介绍的服务器端控件,既包括HTML控件,又包括ASP.NET服务器控件。后者以Validation、AdRotator和Calendar等控件,为用户带来了丰富的潜在体验。ASP.NET 2.0对此进行了扩展,它以全新的,经过扩展的控件类来实现数据绑定、安全、登录等。

ASP.NET 2.0的设计目标是比ASP.NET 1.x减少70%的编码量。为了达到这个目标,设计人员在控件中加入了许多功能,这样您可以将这些控件拖放到窗体上,控件自己就可以控制运行。ASP.NET服务器控件比过去有更多的声明,这意味着在内容文件(.aspx或.ascx)中可以设置更多的属性和事件,而不须要通过编程方式实现(虽然这种方法仍旧可以使用)。

ASP.NET服务器控件在原有的HTML控件之上进行了重大改进。这包括:

●   页面自动维护控件状态,这将在第6章中详细讨论。

●   ASP.NET检查目标浏览器版本。对于“高版本”的,启用了DHTML的浏览器,则将脚本发送到客户端处理。对于“低版本”的老式浏览器,所有的处理都在服务器中完成。每种不同的浏览器将生成适当的HTML。

●   使用编译型语言替代解释型脚本语言,目的是获得更好的性能。

●   具备绑定到数据源的能力(在第9章讨论)。

●   控件事件在浏览器上触发,并很容易地使用服务器端代码进行处理。

每一个Web页面和服务器控件都由类来实现,这些类自System.Web.UI.Control类派生。例如,ASP.NET的Button控件由Button类实现,HTML的Button控件由HtmlButton类实现。另外,Page类也是从Control类派生。同时,所有页面和控件共享Control类的属性、方法和事件。这些内容将在本章的“ASP.NET服务器控件的类层次结构”一节中介绍。

事件

Events

执行程序有两种模式(二者并不是非此即彼的关系):线性模式和事件驱动模式。理解ASP.NET的关键是,它是事件驱动模式。

线性模式的程序从第一步开始执行,然后执行第二步等,直至所有步骤执行完为止。代码中的流控制结构(如循环、if块或方法调用)也许可以重定位程序的流,然而,就本质而言,一旦程序开始执行,在用户或系统的操作下,它将一直运行下去。在有GUI环境之前,大多数计算机程序都是线性模式。

相反,事件驱动模式的程序是当发生某些事情时进行响应(例如按下了按钮)。多数情况下,事件由用户行为生成,但是由系统触发。例如,您打开了准备阅读的文件,当它被读进内存时,或者当电池电量低的时候,系统会触发一个事件。

在ASP.NET中,对象可以触发事件,而其他对象可以定义事件处理程序。例如,单击按钮触发Click事件,那么页面则可以用一个方法来处理按钮的单击事件(例如Button1_Click)。事件处理程序中的代码使用应用程序指定的方式来响应按钮的单击。

这里要牢记的重点是:服务器控件是可以触发事件的对象。用户在浏览器上对服务器控件所执行的任何行为都可能触发事件。服务器端代码响应事件,并运行存储在事件处理方法中的代码。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论