内容简介
本书是第一本详细描述如何利用Visual Studio 2005创建用户控件、自定义控件和Web Parts的专业教程。书中不仅包含了各种控件的基本概念和创建方法,还通过与业务相关的应用程序,解释了完成某个目标的不同方式的优缺点,演示了每项技术的用法,可帮助有经验的Web开发人员在开发业务目标的控件时做出明智的选择,提高开发效率。
自定义控件和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网站上还有一个案例分析,它描述了如何用模板编辑器创建数据绑定控件,本章的源代码也可以在Wrox网站上找到。 使用本书的要求 要运行本书中的示例,需要以下环境。 ● .NET Framework 2.0 ● Windows 2000或更新版本上的Internet Information Services (IIS) 本书使用的是Visual Studio 2005,但读者可以用任意文本编辑器建立自定义控件。 用户支持 我们总是想知道您对本书的看法,您喜欢哪些内容,您不喜欢哪些内容,这些信息将有助于我们下一次做得更好。如果您有什么意见和建议,请向fwkbook@tup.tsinghua.edu.cn发邮件。但是,请您一定要在您的信中注明本书的书名。 如何下载本书的示例代码 在您登录到Wrox站点/时,只需使用Search工具或使用书名列表就可以找到本书。接着在Code栏中单击Download链接,或单击本书信息页面上的Download Code链接,就可以获得本书所有的源代码。另外,您也可以从本书的合作站点www.tupwk.com.cn/downpage上下载本书的所有源代码。 从以上站点上下载的文件使用WinZip进行了压缩。在把文件保存到硬盘的一个文件夹中时,需要使用解压缩软件(如WinZip 或 PKUnzip)对该文件解压缩。在解压缩时,代码常常放在各自的章节文件夹中。在开始解压缩过程时,一定要将解压缩软件WinZip 或 PKUnzip设置为使用文件夹名。 勘误表 尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。请给fwkbook@tup.tsinghua.edu.cn发电子邮件,我们就会检查您的信息,如果是正确的,就把它发送到该书的勘误表页面上,或在本书的后续版本中采用。 要在网站上找到勘误表,可以登录,通过Advanced Search工具或书名列表查找本书,然后在本书的信息页面上,单击Book Errata链接。 E-Mail支持 如果您希望直接就本书的问题向对本书知之甚多的专家咨询,那么,就向support@wrox. com发电子邮件,在电子邮件的“主题”(Subject)栏中,加上本书的名称和ISBN的最后4位号码。典型的电子邮件应该包括下列内容: ● 在“主题”栏加上书的名称、ISBN的最后4位数字和问题所在的页码。 ● 在邮件的正文中加上您的姓名、联系信息和问题。 我们不会发给您垃圾邮件。我们只需要详细的情况以节省您的宝贵时间和我们的时间。当您发送电子邮件时,它会直接链接到以下支持链: ● 客户支持—— 您的消息会传送到我们的客户支持人员,他们是阅读信息的第一人。他们有常见问题的文件,会迅速回答一般性的问题。他们回答关于本书和网站的一般性问题。 ● 编辑支持—— 更深的问题会转发到负责本书的技术编辑处。他(或)她具有编程或特殊产品的经验,能够回答某个主题的详细技术问题。 ● 作者支持—— 最后,在编辑都不能回答问题的情况下(这种情况很少出现),这些问题将转发到作者。我们试图保护作者不要从写作中分心,但是,我们也很愿意将特殊的问题转发给他们。所有的Wrox作者帮助支持他们的书籍。他们向客户和编辑回复电子邮件,所有的读者都会从中受益。 Wrox支持过程只能提供直接与已出版的图书相关的问题。对于超出此范围的问题可以通过/论坛的团体列表来提供支持。 P2P邮件列表是为作者和同行的讨论而设立的。我们在邮件列表、论坛和新闻组中提供“程序员到程序员的支持”(programmer to programmer support),还包括一对一的电子邮件支持系统。如果把问题发送给P2P,就可以相信,您的问题不仅仅是由支持专家解答,而且还要提供给我们邮件列表中的许多Wrox作者和其他业界专家。在上,可以从许多不同的列表中获得帮助,不仅在阅读本书时获得帮助,还可以在开发应用程序时获得帮助。在网站的.NET类别中,最适合本书的是beginning_vb和vb_dotnet列表。 要订阅一个邮件列表,可以遵循下面的步骤: (1) 进入。 (2) 从左侧的菜单栏中选择合适的列表。 (3) 单击想加入的邮件列表。 (4) 按照指示订阅和填写电子邮件地址和密码。 (5) 回复接收到的确认电子邮件。 (6) 使用订阅管理器加入更多的列表,设置自己的邮件设置。 为什么这个系统提供最好的支持 您可加入该邮件列表中,也可以每周分类接收它们。如果您没有时间或设备接收该邮件列表,可以搜索我们的在线文档。垃圾邮件和广告邮件会被删除,您自己的电子邮件地址会被独特的Lyris系统保护起来。任何加入或退出列表的查询,或者与列表相关的一般问题,都应发送到listsupport@。