本书是第一本详细描述如何利用Visual Studio 2005创建用户控件、自定义控件和Web Parts的专业教程。书中不仅包含了各种控件的基本概念和创建方法,还通过与业务相关的应用程序,解释了完成某个目标的不同方式的优缺点,演示了每项技术的用法,可帮助有经验的Web开发人员在开发业务目标的控件时做出明智的选择,提高开发效率。\r\n
第Ⅰ部分 控件简介\r\n 第1章 创建自己的控件 \r\n 1.1 三种控件\r\n 1.2 可重用控件的优点\r\n 1.3 用控件实现可重用性\r\n 1.4 控件 \r\n 1.5 不同类型的控件\r\n 1.6 Web Part:定制 \r\n 1.7 提供个性化 \r\n 1.8 个性化框架\r\n 1.9 小结 \r\n 第2章 创建定制页面\r\n 2.1 Web Part框架控件 \r\n 2.2 创建定制页面\r\n 2.3 给区域添加控件\r\n 2.4 配置区域\r\n 2.5 打开定制功能\r\n 2.6 定制工具控件\r\n 2.7 小结 \r\n第Ⅱ部分 创建控件\r\n 第3章 创建自定义控件 \r\n 3.1 创建Visual Studio解决方案\r\n 3.2 扩展已有的控件 \r\n 3.3 创建完整的自定义控件\r\n 3.4 处理返回的数据 \r\n 3.5 控制相关的HTML \r\n 3.6 提取和控制WebControl属性\r\n 3.7 管理自定义控件的样式 \r\n 3.8 处理设计模式\r\n 3.9 小结 \r\n 第4章 建立用户控件 \r\n 4.1 用户控件、WebForm和自定义控件 \r\n 4.2 启用用户控件 \r\n 4.3 给控件编写代码\r\n 4.4 使用用户控件\r\n 4.5 访问控件\r\n 4.6 用户控件HTML\r\n 4.7 小结 \r\n 第5章 建立Web Part \r\n 5.1 激活定制属性的个性化功能\r\n 5.2 创建功能全面的Web Part \r\n 5.3 检查可个性化的数据\r\n 5.4 访问特性\r\n 5.5 添加新的动词\r\n 5.6 Web Part的HTML\r\n 5.7 配置Web Part\r\n 5.8 小结 \r\n 第6章 用ViewState保存状态\r\n 6.1 使用ViewState\r\n 6.2 管理控件的状态 \r\n 6.3 与高速缓存集成 \r\n 6.4 对象的高效串行化 \r\n 6.5 小结 \r\n 第7章 开发工具 \r\n 7.1 在设计期间调试控件\r\n 7.2 部署控件 \r\n 7.3 给控件设置许可 \r\n 7.4 管理个性化子系统 \r\n 7.5 小结\r\n第Ⅲ部分 扩展控件\r\n 第8章 添加业务功能\r\n 8.1 分解代码\r\n 8.2 自定义控件的生存期 \r\n 8.3 给组成控件添加代码\r\n 8.4 创建定制方法、属性和事件\r\n 8.5 管理控件集合 \r\n 8.6 小结 \r\n 第9章 添加高级功能\r\n 9.1 集成客户端代码\r\n 9.2 专用控件\r\n 9.3 多个记录的数据绑定 \r\n 9.4 设计期间的支持\r\n 9.5 小结\r\n 第10章 Web Part之间的通信\r\n 10.1 使用可连接的Web Part \r\n 10.2 创建可连接的Web Part \r\n 10.3 建立自己的连接\r\n 10.4 配置ConnectionsZone文本\r\n 10.5 小结 \r\n 第11章 使用Web Part体系结构\r\n 11.1 在WebPartManager上设置个性化选项\r\n 11.2 管理Web Part的个性化\r\n 11.3 在代码中处理Web Part\r\n 11.4 小结\r\n第Ⅳ部分 控件的应用\r\n 第12章 自定义控件的案例分析\r\n 12.1 设计控件\r\n 12.2 建立解决方案\r\n 12.3 添加控件 \r\n 12.4 设置默认样式 \r\n 12.5 控件的定位 \r\n 12.6 在显示模式和更新模式之间切换\r\n 12.7 给开发人员调整控件 \r\n 12.8 保存状态\r\n 12.9 提取用户数据\r\n 12.10 引发事件\r\n 12.11 在回送时显示用户数据\r\n 12.12 显示和接受数据\r\n 12.13 支持定制\r\n 12.14 添加动词\r\n 12.15 通信 \r\n 12.16 小结
前 言
自定义控件和Web Part可以为Web窗体创建可重用的(re-usable)组件,从而大大提高效率。我们可以打包一部分用户界面,在Web站点内部或许多不同的Web站点中重复使用它。但这只是这些控件提高效率的一个方面。如果有一个ASP.NET控件以稍有不同的方式工作,就可以创建符合我们需要的控件。在建立自己的自定义控件和Web Part时,可以让控件尽量完成用户所需完成的工作。
如果读者以前使用过ASP.NET,就应很熟悉ASP.NET服务器控件。如果读者曾经尝试建立用户控件或自己的自定义控件,就会明白ASP.NET控件的内部工作原理。而Web Part是ASP.NET 2.0的新增部分,它提供的功能完全不同于ASP.NET控件。Web Part可以为用户提供定制应用程序的功能,以满足用户的要求。使用Web Part可以让用户创建自己的界面,这是提高效率的另一种方式。
本书讨论如何高效地使用Visual Studio 2005创建自己的控件(也包括使用任意文本编辑器创建自定义控件、用户控件和Web Part等内容)。Visual Studio 2005为创建ASP.NET应用程序和自定义控件提供了最佳支持。
本书采用的方法非常简单,即“如果需要,就编写代码;如果编写好代码,就会得到需要的功能”。全书的重点是创建控件所需的代码,所编写出的控件可以在建立Web应用程序时使用。本书不会列举像“计算小于2000的数的平方根”这样的代码。本书的代码完全基于与业务相关的应用程序。
也就是说,本书不会介绍ASP.NET的工作原理等背景知识,除非编写代码所需的基础知识与ASP.NET的工作原理有所不同。如果读者熟悉ASP.NET的工作原理,将有助于加深对本书内容的理解。另一方面,如果可以在不了解这些知识的情况下创建应用程序,那么也就是说,读者不需要通过这些知识来理解本书的示例。
达到目标并不只有一种方式,本书将介绍每种方式的优缺点,指出各种技术的常用场合,以便读者做出明智的选择。
读者可能并不需要了解本书的某些内容,至少刚开始时是不需要的。但在需要了解这些内容时,本书给出了许多示例(用Visual Basic 2005和C#编写),以说明如何使用它们。例如,在第一次建立自定义控件时,可能并不需要在公司的外部发布该控件,所以不需要阅读有关许可的一节。但如果以后需要许可方面的知识,就可以在第7章的内容中找到它。
本书的读者
本书适合于有经验的Web开发人员。我们假定读者知道如何创建Web窗体,现在要利用ASP.NET的功能创建自己的控件。但我们并不会要求读者是有经验的对象开发人员。如果读者在创建对象方面有一定的经验,本书将有一些章节可用于复习面向对象的基本概念,以及在Visual Basic 2005和C#中实现它们的方式。本书还假定读者不知道如何在Visual Studio 2005中创建对象。所以在第3章的开头介绍了这方面的知识,探讨了如何建立开发环境,以提高效率。
在语法上要注意:本书的许多示例代码都非常简明扼要—— 在示例中,三四行代码常常压缩为一行。本书的代码很容易理解,其作用也很明确,读者在阅读示例代码时不会感到迷惑。全书使用的命名约定(例如所有的变量名都有一个3字母前缀)也设计得一目了然。较新的命名约定不再使用这种样式(以前称为Hungarian命名法),但在学习环境下,这种命名约定仍非常有益。即使不查看变量的声明,仍能看出是一个字符串。
另外,C# 和Visual Basic 2005代码示例使用相同的编程风格,以易于比较这两个版本。在大多数情况下,本书使用完整的对象名(例如使用System.Web.UI.WebParts.WebControl而不是WebControl),可确保代码按照预期的方式运行。虽然这有助于理解技术的工作原理,但使用Visual Basic 2005和C#提供的许多缩写方式,可以编写出更简洁的代码。
本书的结构
本书分为4部分。第Ⅰ部分(第1章和第2章)介绍了自定义控件、用户控件和Web Part的基本概念。第Ⅱ部分(第3章~第7章)介绍了实现这三种控件所需理解的知识。第Ⅲ部分(第8章~第11章)说明了如何利用这三种控件的基本知识,添加业务特定的功能,建立专业化的控件,并讨论了其他高级主题。第Ⅳ部分包含第12章,这是自定义控件的一个案例分析。
下面列出了每一章的主要内容。
● 第1章“创建自定义控件”:本章描述了用户控件、自定义控件和Web Part的作用,还阐述了这三种控件的区别和使用场合。本章讨论了如何确定何时可以用这三种控件解决问题,以及如何选择正确的控件。
● 第2章“创建定制页面”:ASP.NET 2.0的新增功能是创建定制页面,这需要使用Web Part。本章将通过一个案例分析,说明如何在应用程序中使用定制页面,它将如何改变建立Web页面的过程。本章包含要与Web Part一起使用的Web Part架构中的组件。
● 第3章“创建自定义控件”:本章介绍了实现自定义控件的基础知识,陈述了如何创建给页面添加HTML代码的控件,如何创建合并其他ASP.NET控件的控件。本章还描述了如何在Visual Studio 2005中建立自定义控件项目。
● 第4章“建立用户控件”:如果读者知道如何建立Web窗体,就代表掌握了创建用户控件的大部分知识。本章以创建Web窗体的知识为基础,为Web应用程序创建用户控件。
● 第5章“创建Web Part”:Web Part是ASP.NET 2.0中的一个新增功能。本章介绍如何利用创建自定义控件的知识,创建一个Web Part,如何给Web Part添加新功能,以扩展架构。本章还将讨论如何激活自定义控件上的属性定制功能。
● 第6章“用ViewState保存状态”:Web应用程序中的一个关键问题是在用户对页面的请求之间跟踪信息。ASP.NET 2.0提供了一些新功能,以管理控件中的状态。本章将介绍这方面的所有ASP.NET工具,包括ASP.NET以前版本中的工具和ASP.NET 2.0的新特性。
● 第7章“开发工具”:当然,建立控件仅是控件生存期的开头,我们还需要部署和更新它。本章将介绍如何以公开和私密的方式部署控件,如何在不重新部署应用程序的情况下更新控件。本章还会讨论如何编写管理Web Part的个性化系统。
● 第8章“添加业务功能”:建立了自定义控件后,就要给它插入应用程序的一些功能。本章将说明如何给自定义控件添加属性、方法和事件,并探讨在控件生存期的哪些阶段插入与应用程序相关的代码。
● 第9章“添加高级功能”:本章将介绍各种专业化主题,包括如何给定制用户添加客户端代码、建立自己的验证控件、创建数据绑定控件、给控件添加设计期间的支持等。
● 第10章“Web Part之间的通信”:除了支持定制之外,Web Part还有一个其他控件没有的特性,即在Web Part之间传送信息。本章将讨论如何创建可以相互交流的Web Part,如何在页面的代码中管理这种通信。
● 第11章“使用Web Part体系架构”:Web Part仅是支持定制页面架构的一部分。本章将跳出Web Part的圈子,描述可以在Web Part架构中使用的其他定制特性。
● 第12章“自定义控件的案例分析”:本章将前面章节的内容综合起来,建立一个完整的自定义控件/Web Part。前面的章节解释了自定义控件和Web Part技术的各个部分,本章则将它们综合起来,说明如何使用组成控件、可定制的属性和Verb菜单,建立一个自定义控件。除了这个案例分析之外,在Wrox网站www.wrox.com上还有一个案例分析,它描述了如何用模板编辑器创建数据绑定控件,本章的源代码也可以在Wrox网站上找到。
使用本书的要求
要运行本书中的示例,需要以下环境。
● .NET Framework 2.0
● Windows 2000或更新版本上的Internet Information Services (IIS)
本书使用的是Visual Studio 2005,但读者可以用任意文本编辑器建立自定义控件。
用户支持
我们总是想知道您对本书的看法,您喜欢哪些内容,您不喜欢哪些内容,这些信息将有助于我们下一次做得更好。如果您有什么意见和建议,请向fwkbook@tup.tsinghua.edu.cn发邮件。但是,请您一定要在您的信中注明本书的书名。
如何下载本书的示例代码
在您登录到Wrox站点http://www.wrox.com/时,只需使用Search工具或使用书名列表就可以找到本书。接着在Code栏中单击Download链接,或单击本书信息页面上的Download Code链接,就可以获得本书所有的源代码。另外,您也可以从本书的合作站点www.tupwk.com.cn/downpage上下载本书的所有源代码。
从以上站点上下载的文件使用WinZip进行了压缩。在把文件保存到硬盘的一个文件夹中时,需要使用解压缩软件(如WinZip 或 PKUnzip)对该文件解压缩。在解压缩时,代码常常放在各自的章节文件夹中。在开始解压缩过程时,一定要将解压缩软件WinZip 或 PKUnzip设置为使用文件夹名。
勘误表
尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更
无封面