图书简介:欢迎阅读本书!本书提供了最新、最全面的ASP .NET入门知识。ASP .NET是一个开发现代Web应用程序的架构。使用ASP .NET可以开发出安全、极速并具有高度可扩展性的Web应用程序。ASP .NET的最大优势在于,它包含了大量现成的功能,比如网站导航、数据绑定、主题和用户管理等。使用ASP .NET平台,可以创建从小型动态个人网站到大规模电子商务网站的任何类型的Web应用程序。 本书假定读者只具有基本的C#语言知识,因此在本书的开始部分将对C#进行简要的介绍,具有较多C#编程经验的人也可以将这些基础性的介绍作为一个快速的回顾。在本书的ASP .NET探索之旅中,将介绍设计可靠Web应用程序所需的关键原则,包括数据库、ASP .NET安全和执行性能等方面的问题。本书还将从头开始介绍面向对象程序设计以及Web窗体的代码分离开发,一切示例都将从实战角度出发,而不是纸上谈兵的肤浅介绍。 经过本书的学习,您将精通网站开发的核心技术,并掌握成为一个专业ASP .NET开发人员的必备知识。 欢迎来到ASP .NET 3.5的世界! Matthew MacDonald (Microsoft MVP MCSD)
ASP.NET是微软的Web应用程序开发平台。使用ASP.NET,可以创建电子商务网站、数据驱动的门户网站以及在因特网上可以找到的任何类型的网站。ASP.NET最大的优势在于,在编写Web应用程序时,无须将HTML和脚本代码混杂成一团浆糊。只须使用诸如Visual Studio 2008之类的编码和设计工具,就可以创建出优秀的Web应用程序。 新技术的代价在于它的学习曲线。要想精通ASP.NET,需要学习如何使用高级的设计工具(比如Visual Studio)、需要掌握大量的对象(.NET Framework)和一门面向对象的程序设计语言(比如C# 2008)。总之,这些技术门槛足以使一个Web开发的初学者望而生畏。 假定你想从基础开始学习并想精通ASP.NET。本书将为你构建所需的基础知识,直到你理解了编写复杂Web应用程序的各种概念、技术和最佳实践。学习的道路是漫长的,但收获也是丰厚的。经过本书的学习,你将可以使用ASP.NET来迎接那些在其他平台中难于企及的挑战。 关于本书 本书重点探讨了ASP.NET,它是微软.NET Framework平台的核心技术之一。.NET Framework并不是一个单一的应用程序——它实际上是用于包装大量新技术的一个商业标签。.NET Framework包括了诸如C# 2008和 VB 2008之类的程序设计语言、一个用于运行Web页面和Web Services的宿主引擎(ASP.NET)、一个访问数据库的现代模型(ADO.NET)和一个提供了各种功能的庞大类库,这些类库包含从读取文件到验证密码之类的所有功能。要想精通ASP.NET,就得学习它的每一个技术要素。 本书将从基础知识开始讲解所有技术要点。因此,你将从本书中学习到很多.NET程序员都感兴趣的技术,即使是那些开发Windows应用程序的程序员也会对这些技术充满兴趣。例如,本书将介绍组件设计、结构化的错误处理机制以及如何访问文件、XML和关系型数据库等,这些都是.NET中通用的技术。另外,本书还将介绍Web程序设计方面的关键技术,比如状态管理、Web控件和缓存技术。经过本书的学习,你就可以创建多功能Web应用程序,并使之可供因特网访问。 注意: 本书只有一个目标:即尽可能地贴近实战。我在编写本书时特别小心,以防将你搁浅在其他ASP.NET书籍曾经卡住读者的地方。例如,当遇到一个新的技术时,不仅向你介绍该技术的工作原理,还将介绍为什么使用该技术,以及何时使用该技术。另外,我还使用了提示和侧栏强调了常见的问题和最佳实践。对于本书中所包含的每一个技术主题,都是掌握ASP.NET所必不可少的。本书并不仅仅向你介绍如何执行一个任务,还将同时介绍它潜在的缺点和你可能遇到的问题—— 以及在真实的开发环境下如何保护你的代码。 读者对象 任何想使用ASP.NET来开发动态网站的人都可以阅读本书。如果你已经具有使用早期程序设计语言(比如 C语言或Java)的经验,则是最好。否则你应该对一些程序设计的基本概念有所了解(即循环、条件判断、数组等),也许你已经从Visual Basic、Pascal、Turing或者某种完全不同的程序设计语言中学习了这些基本概念。这是阅读本书唯一的要求。 理解HTML和XHTML(用于编写Web页面的标记语言)将有助于本书的阅读,但这并不是必需的。ASP.NET工作在一个更高的层次上,它允许你使用功能完备的Web控件,而不是底层的Web页面标记。本书的第4章将简要介绍XHTML,第13章将介绍CSS(Cascading Style Sheet,层叠样式表)。 另外,本书还适合于那些具有C#和.NET经验但未曾使用过ASP.NET的程序员。如果你已经使用过前一版本的ASP.NET,那么深入介绍ASP.NET技术的书籍也许更合你的胃口,比如Pro ASP.NET 3.5 in C# 2008(Apress, 2007)。 注意: 本书将从基础知识的讲解开始:C#的语法、面向对象程序设计的基础,以及.NET Framework的哲学。如果你以前并未使用过C#,那么应该花上一点时间阅读第2章的内容,它提供了一个C#语法的简介,这是编写代码必须掌握的。如果你并不熟悉面向对象程序设计的概念,则第3章可以填补这一空白,它提供了面向对象的快速而全面的介绍。本书的其余部分介绍了ASP.NET的基础知识、高级ASP.NET实例以及在真实Web应用程序中使用的各种技术,但是这些技术都构造在前面这些基础概念之上。 学习本书所需的软硬件环境 学习本书的一个主要的前提条件就是读者需要具有一台安装了Visual Studio 2008的计算机。你也可以使用功能略有限制的Visual Studio Web Developer 2008 Express精简版。它最大的限制在于,无法使用Visual Studio Web Developer创建独立的组件,本书第23章将专门介绍组件技术。但是,可以同时使用两个Express精简版开发工具来解决这一问题—— 即使用Visual Studio Web Developer Express创建网站,并使用Visual C# 2008 Express来创建所需的组件。即使不使用Visual C# 2008 Express,也可以运行本书中的所有代码。 要开发ASP.NET Web页面,还需要Windows XP、Windows Vista、Windows Server 2003或者Windows Server 2008的支持。要使用一个ASP.NET Web页面(即通过因特网来访问该页面),还需要一个Web浏览器。ASP.NET完全支持IE浏览器、Firefox、Opera、Safari和Netscape浏览器,以及任何操作系统上的遵循HTML标准的其他浏览器。一些特别旧的浏览器不支持一些新的功能,比如本书第25章介绍的ASP.NET AJAX技术。当遇到这些问题时,必须考虑客户端浏览器的限制。另外,本书还包含了大量的屏幕截图——某些是在Windows XP系统中的截图,而另外一些则是在Windows Vista中的截图。这些截图是非常有意义的。你所使用的操作系统(以及浏览网站的用户操作系统)并不会影响到Web页面的工作方式。 如果想在你的计算机上部署网站,那么还需要使用IIS(Internet Information Services,Internet信息服务),IIS是Windows操作系统中的一部分,它是Web应用程序的宿主。当想测试网站的部署策略时,也可能会用到IIS。本书第9章介绍了如何使用和配置IIS。 本书中的一些例子还使用到了SQL Server。可以使用任何版本的SQL Server来运行这些示例,包括SQL Server 2005 Express版,它已经被包含在了某些版本的Visual Studio中。如果使用的是其他关系型数据库系统,则相同的概念并不会改变,只须对代码进行简单的修改即可。 示例代码 要想精通ASP.NET,大量的编程实践是必不可少的。最好的办法就是运行本书中的代码实例、仔细分析这些实例、修改它们并深入研究修改后的效果。要获得本书的示例代码,请访问,或者本书支持网站http://www.tupwk.com.cn。在这些网站中,还提供了关于本书附加资源、更新信息和勘误表的一些链接。 注意: 在本书的前一版本中对Web Services进行了介绍,Web Services允许你创建一种可供远程调用的代码例程,其他应用程序可以通过因特网来调用Web Services中的方法。对于多功能客户端开发来说,Web Services将更加有用(因为它可以为Web应用程序提供类似于普通桌面应用程序的特性)。另外,Web Services将被一种称为WCF(Windows Communication Foundation,Windows通信基础)的新技术所取代。因此本书并没有讨论Web Services的相关内容。如果你想继续学习Web Services的相关知识,可以从本书前一版本的下载页面中获得介绍Web Services的相关章节。这些章节对Web Services的介绍仍然适用于ASP.NET 3.5,因为Web Services的功能在ASP.NET 3.5中并未发生改变。 内容简介 本书分为六个部分。除非你已经具有了.NET Framework的编程经验,否则最有效率的方式就是按部就班地阅读本书。有时,本书后面的章节将引用前面章节中介绍的特性,以创建更加全面和真实的示例。就另一方面而言,如果你已经熟悉了.NET平台、C#语言和面向对象程序设计,那么也可以跳过本书第Ⅰ部分的内容。 第Ⅰ部分:.NET简介 虽然参照本书第Ⅱ部分的例子就可以开始编写ASP.NET应用程序。但是要想真正精通ASP.NET,就必须理解.NET Framework的一些基本概念。 第1章简要介绍了微软的一些技术术语,解释了.NET Framework的真正作用,以及为什么我们需要使用.NET Framework来开发程序。第2章则综合性地介绍了C# 2008语言。第3章则解释了现代面向对象程序设计的基本概念。 第Ⅱ部分:开发ASP.NET应用程序 本书的第Ⅱ部分深入探索了ASP.NET程序设计的核心技术,介绍了ASP.NET基于事件的新的程序设计模型。在第4章中,详细介绍了Visual Studio的软件设计环境,并介绍了Web窗体、事件和XHTML的基础知识。在第5章和第6章中,介绍了如何使用服务器端控件(server controls)来设计和开发Web页面的用户界面。 接下来的章节介绍了ASP.NET程序设计的更多要素。第7章介绍了状态管理的不同策略。第8章讲解了错误处理的不同技术。最后在第9章中介绍了将Web应用程序部署到Web服务器的各个步骤。这些章节包含了设计和创建基本ASP.NET网站所需的核心概念。 第Ⅲ部分:创建更好的Web窗体 本书的第Ⅲ部分包含了几个重要的主题,使用这些技术可以将普通的Web页面转换为精美的Web应用程序。在第10章中将介绍验证控件,它可以在用户提交页面之前检查无效的数据。在第11章中将介绍更多的ASP.NET精美控件,比如Calendar控件和Wizard控件。在第12章,将介绍如何创建ASP.NET用户控件,把Web页面中的部分用户界面创建为可重用的基本组件,另外还介绍了如何在运行时绘制用户自定义的图形。在第13章中,介绍了如何使用主题(theme)和母版页(master page)来标准化整个网站的外观。第14章则介绍了如何为网站添加导航功能。 第Ⅳ部分:使用数据 绝大多数软件都需要访问数据,ASP.NET Web应用程序也不例外。在第15章将开始.NET中的数据访问技术之旅,首先介绍了ADO.NET—— 微软.NET为访问关系型数据库所提供的一种强大的技术。第16章和第17章则介绍了如何使用数据绑定和高级ASP.NET数据控件来创建数据驱动的高级ASP.NET页面。这些页面不仅充满吸引力,而且可以定制数据显示的方式,并自动支持对数据的分页、排序和编辑。 本书第18章介绍了如何访问文件。第19章则介绍了如何在ASP.NET应用程序中使用.NET Framework内建的XML支持。 第Ⅴ部分:网站安全 每一个公共网站都需要处理好安全问题——即确保敏感数据不会被非法用户访问。在第20章中,介绍了ASP.NET为处理不同的用户所提供的不同认证系统。你可以编写自己的代码来验证用户名和密码,也可以使用现成的Windows账户信息。在第21章中将介绍ASP.NET的成员关系模型,它扩展了认证系统,并使用预置的安全控件和便利的成员关系对象来自动完成各种常规任务。如果需要,ASP.NET甚至可以自动地创建和管理一个用户信息的数据库。最后第22章介绍了ASP.NET的用户配置功能——用户配置模型可以将每一个用户的相关信息自动地存储在数据库中,无须编写任何数据库代码。 第Ⅵ部分:高级ASP.NET 第Ⅵ部分包括了ASP.NET的高级主题,这些章节包含了Web应用程序开发的高级技术。第23章介绍了如何为ASP.NET应用程序创建可重用的组件。第24章则演示了如何谨慎地使用缓存技术来提高绝大部分Web应用程序的性能。第25章简要介绍了当前Web应用程序开发中最热门的ASP.NET AJAX技术。使用ASP.NET AJAX,可以创建具有更高响应性的Web应用程序,并提供通常在桌面应用程序中才具有的各种丰富功能,比如文本的自动完成和拖放功能等。 反馈 希望本书能成为最好的ASP.NET入门教程。因此,你的批评和建议将具有重要的价值。请将你对本书的批评和建议以及任何意见发送到电子邮箱wkservice@vip.163.com。或许我并不能解决你的ASP.NET问题,也无法品评你的代码,但是关于本书的优点和不足之处(以及那些讲解不清或不易理解的地方)的信息将会给予我极大的帮助。