为了构建有效且有吸引力的数据库驱动的Web站点,需要两个条件:一个是运行Web页面的稳固而快速的框架,另一个是创建和编写Web页面的丰富而广泛的环境。通过ASP.NET 4和Visual Web Developer 2010可以满足这两个条件。它们结合在一起形成了一个构建动态的、交互式的Web站点的平台。 ASP.NET 4建立在它广受欢迎的前身ASP.NET 2.0和ASP.NET 3.5基础之上。除了维持对使用老版本构建的Web站点的向后兼容性外,ASP.NET 4和Visual Web Developer 2010还增加了大量新的、激动人心的功能,并对框架和开发工具进行了一些较小的但是很有用的改进。 自Visual Studio 2003以来,对于每一个Visual Studio新版本(其中包括Visual Web Developer)的发布,我都惊讶于Microsoft在产品中添加的新功能的数量和对产品所做的改进。Visual Studio 2010也不例外,它的一个主要特性就是对ADO.NET Entity Framework 4的完整集成使得几乎不用编写代码就可以访问数据库。Visual Studio的另一个改变是在User Interface中对Windows Presentation Foundation(WPF)的使用,这除了能带来更好的用户体验外,还为Visual Studio自身添加了一个新行为。 尽管对Visual Studio自身来说这并不是一个新功能,但是在Visual Web Developer 中引入jQuery是一个很不错的决定,这使得开发人员可以在更少的时间里编写更好的Web站点。jQuery是一个引人注目的客户端的、跨浏览器的JavaScript框架(详细内容见第11章)。 熟悉ASP.NET早期版本的读者会很高兴地发现,新版本中的许多小功能将大大简化开发工作。我们将在本书的适当位置介绍并讨论这些新功能。有关ASP.NET新功能的完整列表,请查看ASP.NET官方网站上的白皮书。 关于Visual Web Developer 2010最好的消息可能是它的价格:现在仍然可以免费使用。尽管Visual Studio 2010的商业版中包括Visual Web Developer,但是也可以下载并安装免费的Express Edition。因此,Visual Web Developer 2010和ASP.NET 4可能是如今最引人注目的Web开发技术。 0.1 本书读者对象 本书适用于想了解如何在Microsoft平台上构建丰富的交互式Web站点的任何人。利用从本书学到的知识,可以为构建各种类型的Web站点(从简单的只是业余爱好的Web站点,到为商业目的构建的站点)打下基础。 Web编程新手也能使用本书,因为本书并没有事先假定读者具有Web开发背景(虽然了解基本的HTML和Web概念确实很有用)。本书从头开始介绍Web开发,说明了如何获得与安装Visual Web Developer。后面的章节建立在前面章节的基础上,循序渐进地介绍新技术。 您是否更喜欢Visual Basic而不是C#;或者反过来,更喜欢C#而不喜欢Visual Basic?或者认为这两种语言都不错?或者还没有决定要学哪种语言,想两种都学?无论是哪种情况,您都会喜欢本书,因为本书的所有代码示例都是用这两种语言表示的。 即使已经熟悉了ASP.NET以前的版本,还是可以从本书中获益。虽然ASP.NET 4沿用了以前版本中的很多概念,但是在本书中还是可以发现大量新内容,包括ADO.NET Entity Framework、jQuery、ASP.NET AJAX 的引入,以及对ASP.NET 4框架的许多修改等。 0.2 本书主要内容 本书将介绍如何构建一个名为Planet Wrox的功能丰富的、数据驱动的交互式Web站点。虽然这句话很长,但是你会发现使用Visual Web Developer 2010来开发这样的Web站点并不像看起来那样困难。本书将介绍构建Web站点的整个过程,从第1章的安装Visual Web Developer 2010,一直到第19章将Web站点部署到真正的服务器上。本书分为19章,每一章重点介绍一个特定主题。 ●第1章“ASP.NET 4入门”。本章介绍如何获得并安装Visual Web Developer 2010。该章将说明如何下载与安装Visual Web Developer 2010的免费版本,即Express Edition,还介绍了HTML--每个Web页面所涉及的语言。最后概述了Visual Web Developer提供的自定义选项。 ●第2章“构建ASP.NET Web站点”。本章介绍如何构建一个新的Web站点,以及如何向它增加新元素,如页面。除了如何构建结构良好的站点外,还会介绍如何用Visual Web Developer中的大量工具来创建 HTML与ASP.NET页面。 ●第3章“设计Web页面”。Visual Web Developer附带了大量的工具用于创建设计良好的、有吸引力的Web页面。本章将说明如何充分利用这些工具。此外,还会介绍CSS这种用来定义Web页面格式的语言。 ●第4章“使用ASP.NET服务器控件”。ASP.NET服务器控件是ASP.NET中最重要的概念之一,它们允许使用少量代码构建复杂而功能丰富的Web站点。本章介绍了大量可用的服务器控件,解释了它们的用途,并说明了它们的用法。 ●第5章“ASP.NET Web页面编程”。虽然内置CSS工具与ASP.NET服务器控件非常有助于创建Web页面,但是使用编程语言能够增强页面。本章花了大量篇幅介绍Web页面编程。值得一提的是,本章(以及本书余下章节)的所有示例都使用Visual Basic和C#两种语言表述,因此可以选择一种最喜欢的语言。 ●第6章“创建外观一致的Web站点”。一致性比较容易使Web站点具有吸引力且给人比较专业的印象。ASP.NET通过使用母版页来帮助创建外观一致的页面。母版页可以用来定义页面的全局外观。外观(skin)和主题有助于集中控件和Web站点中其他可视化元素的外观。本章还会介绍如何创建基页来帮助集中站点中所有页面都需要的编程代码。 ●第7章“导航”。为了帮助访问者在站点中找到浏览路径,ASP.NET配置了一些导航控件。这些控件用来构建站点的导航结构。可以将它们连接到站点的集中站点地图(定义Web站点中的页面)。本章还会介绍如何通过编写程序将用户从一个页面发送到另一个页面。 ●第8章“用户控件”。用户控件是可用在多个Web页面中的可重用页面片段。因此它们对于一些重复内容(如菜单、横幅等)很有用。本章将介绍如何创建与使用用户控件,并用一些程序化的智能来增强它们。 ●第9章“验证用户输入有效性”。站点中的大部分交互性是通过用户的输入定义的。本章介绍如何使用ASP.NET 服务器控件接收、验证和处理用户输入。此外,还将介绍如何从ASP.NET Web站点中发送电子邮件,以及如何从正文中读信息。 ●第10章“ASP.NET AJAX”。Microsoft ASP.NET AJAX允许创建漂亮、无闪烁的Web页面,消除了传统桌面应用程序与Web应用程序之间的差距。本章将介绍如何用内置的Ajax功能增强Web页面的表现,从而获得与Web站点更平滑的交互。 ●第11章“jQuery”。 jQuery是一个流行的、开源的且跨浏览器的JavaScript库,专用于简化与客户端浏览器的Web页面交互。本章介绍了jQuery的基础知识以及如何给Web页面添加丰富的可视化效果和动画。 ●第12章“初识数据库”。了解如何使用数据库对于构建Web站点是至关重要的,因为大多数现代Web站点都要求使用数据库。本章将介绍SQL(访问和更改数据库中数据的查询语言)的基础知识。此外,还将介绍Visual Web Developer中帮助创建和管理SQL Server数据库的数据库工具。 ●第13章“显示和更新数据”。本章建立在从第12章学到的知识的基础上,说明了如何使用ASP.NET数据绑定控件与数据源控件创建一个丰富的界面,使用户能与这些控件的目标数据库中的数据交互。 ●第14章“LINQ和ADO.NET Entity Framework”。LINQ是Microsoft的解决方案,用来访问对象、数据库、XML等。ADO.NET Entity Framework(EF)是Microsoft数据库访问的新技术。本章将介绍LINQ的概念,如何使用内置在Visual Studio中的可视化EF设计器,以及如何编写LINQ to EF查询来让数据进出SQL Server数据库。 ●第15章“处理数据-- 高级主题”。前面的章节大多集中于处理数据的技术基础,而本章从前端角度来看同样的主题。本章将介绍如何使用控件样式来改变数据的可视化外观。本章还将介绍与数据绑定控件的交互,以及如何通过保持经常访问的数据的本地副本来加速Web站点。 ●第16章“ASP.NET 4 Web站点中的安全性”。虽然安全性在本书中提出得相当晚,但是安全性是最首要且重要的主题。本章将介绍如何使用与安全性相关的内置ASP.NET功能。介绍若干促进安全性的应用程序服务。还将介绍如何让用户在Web站点上注册一个账户,如何区分匿名与登录用户,以及如何管理系统中的用户。 ●第17章“个性化Web站点”。本章建立在第16章介绍的安全性功能基础之上,介绍了如何用针对个人用户的内容创建个性化Web页面。本章将介绍如何配置与使用ASP.NET Profile为已知和匿名访问者存储个性化数据。 ●第18章“异常处理、调试和跟踪”。为了理解、改进和修复为ASP.NET Web页面编写的代码,需要有优秀的调试工具。Visual Web Developer提供了出色的调试支持,可以在运行时诊断应用程序的状态,帮助在用户发现问题之前解决问题。 ●第19章“部署Web站点”。到本书末尾,应当有一个准备公布于众的Web站点。但是具体如何做呢?要发布Web站点,需要知道和了解哪些事情?本章给出了这些问题的答案,并说明为了运行最终的Web站点,如何配置不同的生产系统。 0.3 本书组织结构 本书通过运行示例和详细说明逐步地介绍概念。使用Wrox惯有的“试一试”练习与“工作原理”部分,可带领您一步步完成任务,并在任务进行过程中详细说明重要的地方。每个“试一试”后面都有一个详细的“工作原理”部分,用来解释在本练习中执行的步骤。 在每章的末尾都有一些练习,帮助测试从本章学到的知识。各个问题的答案在本书最后的附录A中可以找到。如果不知道问题的所有答案也不要担心,后面的章节不会假定您已经完成了前面章节中练习部分的任务。 由于这是一本面向初学者的书,所以对一些主题的介绍不是很详细。本书的每一章中都会提到一些专门介绍本章所讨论主题的其他书籍。在适当的时候还包含了对这些书的引用,所以当想要深入研究某一个特定主题时,可以很容易决定下一步该怎么办。 0.4 使用本书所需条件 本书假定您有一个符合下列要求的系统: ●能够运行Visual Web Developer。要了解具体系统要求,请参见该软件附带的readme文件。 ●运行Windows Vista或Windows 7(两者都要求至少是Home Premium版),或者是Windows Server 2008版本之一。 虽然使用Windows 的其他版本,如Windows XP(只要Visual Web Developer支持)也能完成大部分练习,但是本书第19章的练习要求使用 Microsoft的Web服务器:IIS 7或更高版本,而它们仅适用于上述要求列表中的Windows版本。 第1章介绍了如何获得并安装Visual Web Developer 2010,然后安装Microsoft .NET Framework 4和SQL Server 2008 Express Edition;所需要的只是一个优秀的操作系统以及阅读本书的动力! 0.5 源代码 读者在学习本书中的示例时,既可以手动输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点/或www.tupwk. Com.cn/downpage上下载。只要登录到站点/,使用Search工具或使用书名列表就可以找到本书。接着单击本书细目页面上的Download Code链接,就可以获得所有源代码。 在下载了代码后,只需用自己喜欢的解压缩软件对它进行解压缩即可。另外,也可以进入/dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。 可以将本书的所有源代码作为一个文件下载(可根据语言来选择版本,C#或Visual Basic),然后用喜欢的解压缩工具对其进行解压缩即可。提取源代码时,请确保维持作为代码下载一部分的原始文件夹结构。不同的解压缩工具对这个功能有着不同的名称,不过尽可能寻找一个像User Folder Names或Maintain Directory Structure这样的功能。从下载的代码中提取了文件之后,最后应有一个名为Source的文件夹以及一个名为Resources的文件夹。然后在C盘的根位置创建一个新文件夹,命名为BegASPNET,并将Source和Resources文件夹移到这个新文件夹中,最后得到这样的文件夹:C:\BegASPNET\Source和C:\BegASPNET\Resources。Source文件夹中包含本书19章中每一章的源代码文件,以及Planet Wrox Web站点的最终版本。Resources文件夹包含本书的一些练习中所需要的文件。如果一切正常,最后应看到图0-1所示的结构。 图 0-1 在以后的章节中将在C:\BegASPNET文件夹中创建名为Site和Release的文件夹,从而文件夹结构将为图0-2所示的样子。 图 0-2 Site文件夹包含本书将要构建的站点,而Release文件夹将包含本书末尾的站点的最终版本。每当做本书的一些练习受阻时,都可以打开Source文件夹查看一切最后应是什么样。 如果要为特定章节运行站点来看看它是如何工作的,一定要在Visual Web Developer中打开那一章的文件夹作为一个Web站点。因此应直接打开诸如C:\BegASPNET\Source\ Chapter12这样的文件夹,而不是打开它的父文件夹C:\BegASPNET\Source。 如果想要使用两种编程语言完成操作,则创建第二个文件夹C:\BegASPNETVB来存放Visual Basic 版本的文件。这样一来,这两个站点就可以共存而不产生冲突。如果专门为C#语言创建一个文件夹,请不要包含#符号。因为对一个Web站点来说,路径名中的#是一个无效字符。 坚持采用这个结构可以确保顺利执行本书的“试一试”练习。错误地混合或嵌套这些文件夹会使练习的完成变得困难,还可能导致发生预料之外的情况和错误。每当遇到本书中没有解释的问题或错误时,请确保站点结构仍然与这里提出的结构紧密相关。 0.6 勘误表 尽管我们已经尽了最大的努力来保证文章或代码中不出现错误,但是错误总是难免的,如果你在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免走入误区,当然,这还有助于提供更高质量的信息。 要在网站上找到本书英文版的勘误表,可以登录,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击Book Errata链接。在这个页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是/misc-pages/booklist.shtml。 如果你在勘误表上没有找到错误,那么可以到/contact/techsupport.shtml上,完成上面的表格,并把找到的错误发送给我们。我们将会核查这些信息,如果无误的话,会把它放置到本书的勘误表中,并在本书的后续版本中更正这些问题。 0.7 要与作者和同行讨论,请加入上的P2P论坛。这个论坛是一个基于Web的系统,便于你张贴与Wrox图书相关的消息和相关技术,与其他读者和技术用户交流心得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给你传送感兴趣的论题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上来探讨问题。 在上,有许多不同的论坛,它们不仅有助于阅读本书,还有助于开发自己的应用程序。要加入论坛,可以遵循下面的步骤: (1) 进入,单击Register链接。 (2) 阅读使用协议,并单击Agree按钮。 (3) 填写加入该论坛所需要的信息和自己希望提供的其他信息,并单击Submit按钮。 (4) 你会收到一封电子邮件,其中的信息描述了如何验证账户和完成加入过程。 加入论坛后,就可以张贴新消息,回复其他用户张贴的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息,可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标。 关于使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作情况以及P2P和Wrox图书的许多常见问题。要阅读FAQ,可以在任意P2P页面上单击FAQ链接。