手把手,循序渐进教你学习ASP.NET 3.5
对于有基础编程技能但对ASP. NET陌生的人来说,本书是一本理想读物。它手把手地教你在Microsoft Visual Studio 2008开发环境中开发Web应用程序。
本书教你学会如何
■利用控件创建并个性化Web应用程序。
■开发一个持续性的具有母板页面、主题以及皮肤的自定义UI。
■用UI元素表示数据集合。
■使用菜单栏和导航提示跟踪功能创建有效的站点导航。
■管理基于Web的安全性。
■配置、管理和存储会话状态。
■缓存数据与内容以提高应用程序的性能。
■诊断错误并调试应用程序。
■构建XML Web服务。
■应用AJAX和WCF技术。
无
本书将展示如何使用微软HTTP请求处理框架的最新版本——ASPNET 35来编写Web应用程序。自20世纪90年代早期开始出现最早的站点以来,Web开发已经经历了一个很长的历程。就Web开发工具而言,Web开发的世界给我们提供了许多不同的选择。在过去的几年中,ASPNET已经发展成为应用于管理HTTP请求的最持久、最稳定、特性最丰富的框架。
与Visual Studio一起ASPNET包含了许多能够使程序员生活轻松不少的特性。例如,Visual Studio提供了很多实用的工程模板用于开始开发工作。Visual Studio还支持很多开发方法,包括直接使用Internet信息服务(Internet Information Services,IIS)在开发期间对站点进行测试,使用内置的Web服务器或者在FTP连接上进行开发。另外,Visual Studio中的调试器使你能够运行站点然后一步步地检测代码的重要区域以发现问题所在。Visual Studio设计器使有效的用户界面开发成为可能,它允许用户将控件元素装入画布来看它们所呈现的视觉效果。这只是当ASPNET框架与Visual Studio搭档时所提供的特性中的一部分。
ASPNET与 Visual Studio为我们提供了如此优秀的Web程序编写工具,但是基于微软平台上的Web开发之路并不平坦,因为ASPNET 35的发展历程差不多经历了10年的时间。
ASPNET 35之路
ASPNET的应用走过了将近10年的历程。ASPNET是在以往Web开发方法上的一个飞跃。ASPNET提供了一个面向对象,并以良好定义的通道为中心的开发环境。
ASPNET 10 和ASPNET 11
微软NET框架引入了一种全新的基于微软平台的编程方法。微软的开发人员把主要的精力放在了线程和内存上(这基本上就是API编程模型)。这种模式贯穿 到开发的各个方面,包括Web开发中,给程序员带来很重的工作负担。
ASPNET引入了运行时服务以及设计良好的类库,大大地增强了Web开发的功能。某种意义上来说,经典的ASP就是一种“贴上去”的IIS/ISAPI架构,它对于设计决策随后会马上对开发人员产生影响的问题缺乏一个整体上的思考。
ASPNET 10 和ASPNET 11提供了大量的特性,包括:
用于程序定义的面向对象框架。
用户接口声明(HTML)与程序逻辑的分离机制。
用于执行程序逻辑的编译代码。
会话状态管理配置。
内置数据缓存。
内置内容缓存。
明确的用户界面组件化架构。
高层次的管理数据格式组件(网格、列表、文本框)。
内置程序追踪诊断。
内置用户输入验证。
易用的自定义认证机制。
可靠的ADONET集成(NET数据库描述)。
良好的Web服务支持。
零依赖于组件对象模型。
在很多请求被截获的地方提供可扩展通道。
ASPNET 10为很多转向Web开发并且转向微软平台的开发人员搭建了一个平台。
ASPNET 20
ASPNET 20构建于ASPNET 10之上,它在ASPNET 10中已有特性的基础上又提供了许多新的特性。这些特性包括:
母版页面及外观。
声明性数据绑定。
站点导航和站点地图支持。
供应商样式模型。
新缓存特性。
成员管理。
个性化管理。
Web部件支持。
可编程配置。
管理工具。
新的编译模型。
ASPNET 20保留了ASPNET 10/11中所有的特性。而这些新特性使ASPNET成为用于构建Web站点的一个相当令人信服的平台。
ASPNET 35
ASPNET 35引入的主要特性包括对异步Java和XML(AJAX)程序的支持以及对Windows通信基础(WCF)的支持。另外,对于ASPNET与Visual Studio的支持也得到了很大的发展。设计者有了长足的进步,使Visual Studio包含了用于生成AJAX和WCF程序的新模板。
怎样使用这本书
编写这本书的目的在于为你编织一个ASPNET开发的故事。书中每一个部分都以举例这样易于接受的方式展示一个具体的ASPNET特性。这些渐进式的指令会立即为你生成一个结果,你会发现大多数ASPNET的主要特性都是以简洁易于复制的例子来展示的。我尽量使得例子内容丰富,能够较为轻松地展示这些特性。除了用例子展示ASPNET的这些特性,你还将了解每一个特性的实际应用,进而将这些技术带到实践中去。
本书读者
本书的目标读者是下列几类开发人员:
刚接触ASPNET的开发人员。书中包含了对于Web开发背景的详细描述,即使你已经有过开发桌面软件的经验,这些知识同样有用。
从ASPNET 1x 或者20,甚至传统ASP中迁移过来的开发人员。本书阐释了ASPNET 35与ASPNET 1x 以及20的差别,还包括了对于ASPNET与传统ASP之间差别的参考说明。
针对想以易于理解的方式来掌握ASPNET知识的到开发人员。
本书的价值并不需要以任何特定的顺序来阅读才能得到体现,它的每一章基本上都是独立的(除了第1章,详述Web应用程序基础——如果你不具备桌面软件开发之外的经验,则你还是需要首先阅读它)。你会发现连续学习关于服务器端控件的内容(第3章~第5章)是有用的,即使如此,也不是说必须这么做。
本书的组织
本书的组织力求使每一章的大部分内容可以独立阅读,除了讲述关于Web应用程序基础的第1章和讲述关于服务端控件的3章(第3章到第5章,这3章的内容需要一起学习才有意义)之外的每一章都是分别讲述某一特定ASPNET特性的独立内容。
开始阅读
了解了以上关于本书的一些特点后,你大概要准备开始编写一些代码了。开始之前,请确认你的机器上是否已经安装好了Visual Studio 2008。只要构建好这个开发环境,你就能够确保NET运行时支持也安装完毕。
开始的几个例子只需要用到文本编辑器和IIS的运行安装。我们将从一些基础的例子开始,来说明ASPNET面向对象的特性和编译模型。除了要让你准确地了解ASPNET在处理一个请求时是如何工作之外,同时还要从高层次的角度来向你展示ASPNET的架构。然后,我们将进一步讲解Web表单编程的内容,之后便开始使用Visual Studio来编写代码(Visual Studio让一切变得轻松容易)。
学完Web表单开发的基础内容后,我们将跳过ASPNET剩下的部分,举例来学习并理解ASPNET的众多例如服务器端控件、内容缓存、编写自定义处理、缓存输出和数据、排除程序bug以及程序诊断等一系列实现ASPNET对Web服务支持的特性。
在本书中找到最适合你起点
本书旨在帮助读者提高很多基础方面的技能。无论你是Web编程新手还是从另外的Web编程平台迁移过来的程序人员这本书都同样适用。参照下表来找到适合你学习本书的起点。如果你是遵循以下步骤Web开发新手1安装代码示例
2连续完成第1章和第2章中的例子。这些例子将为你打下Web开发的基础,它们还将帮助你熟悉ASPNET 和Visual Studio的使用
3按照你自己的需求完成书中的其他部分ASPNET 和Visual Studio新手1.安装代码示例
2完成第2章中的例子,它们为你使用ASPNET 和Visual Studio来工作打下基础
3按照你自己的需求完成书中的其他部分(续)如果你是遵循以下步骤从ASPNET早期版本迁移过来的开发人员1安装代码示例
2粗略浏览前两章内容,大致了解微软平台和Visual Studio 2008
3按照你的需要,集中通读第3章到第20章。你可能对其中一些主题的内容已经熟悉了,也可能只是需要看看某一特性在ASPNET 35中与其在ASPNET的早期版本中相比发生了什么改变。除此之外,你可能就需要去深入研究ASPNET 35中全新的特性了参考完成练习后1使用索引或者内容表来查找某一主题的相关信息
2阅读每一章后的快速参考部分来对本章中出现的语法和技术做一个简要的回顾
本书的体例和特点
本书的编写遵循的体例力求使所有内容都通俗易懂。在开始阅读本书之前,请先阅读以下列表,列表中对整本书中所用到的体例进行了解释并指出了本书中一些很可能会对你有用的特点。
体例
每一章开头部分都会有本章的学习目标概要。
每一个练习都是一系列的任务。每一个任务都是以一系列循序渐进的步骤展示出来。
注意标注“提示”的地方提供了为成功完成某一个步骤所需的补充知识或者是另外的实现方法。
键入的代码文本以等宽粗体显示,例如:class foo
{
SystemConsoleWriteLine(“HelloWorld”);
} 说明的内容通常是为了达到同样的一个结果所使用的其他方法。例如,向一个Visual Studio工程中添加一个项目可以通过主菜单或者在解决方案浏览区域点击鼠标右键来完成。
本书中的例子均使用C#编写。
其他特点
一些文本会添加上边栏和注释来给出更多深入某一主题的知识内容。边栏的内容大概包括了背景知识,设计指点或者是关于正在研究的内容的特性。这些边栏内容会告诉你在这个版本的ASPNET中某一特性发生了什么变化。
每一章结尾都会有一个小结和一个快速参考部分。快速参考部分给出了关于如何完成本章中所学任务的简要提示。
系统需求
你需要以下的硬件和软件来完成书中的练习。注意Visual Studio 2008软件不包含在本书中!Visual Studio 2008软件需要单独购买。 Microsoft Windows Vista, Microsoft Windows XP Professional+Service Pack 2, 或Microsoft Windows Server 2003+Service Pack 1
Microsoft Internet Information Services (Windows包含)
Microsoft Visual Studio 2008标准版或Microsoft Visual Studio 2008专业版
Microsoft SQL Server 2005 Express版(Visual Studio 2005包含)或Microsoft SQL Server 2005
12 GHz Pentium或兼容处理器
384 MB RAM (758 MB或更大以支持Vista)
具有至少256色的显示器(1024×768或更高分辨率)
5400 RPM hard drive (22 GB可用硬盘空间)
CD-ROM或DVD-ROM光驱
Microsoft鼠标或兼容指示设备
279 MB可用硬盘空间,以安装代码示例
你还需要以管理员身份登录计算机来配置SQL Server 2005 Express版。
使用Microsoft Access
第11章“数据绑定”和第15章“应用程序数据缓存”都使用到了Microsoft Access。如果想要查看并修改数据库,你需要在机器上安装Microsoft Access。如果机器上已经安装了Microsoft Office,Microsoft Access可能就已经包含在内了。你不需要特意去对它进行配置,也不需要特意去使用ASPNET应用程序中的数据库。
代码示例
代码示例可从wwwhzbookcom下载,在你做书中练习时需要用到它们,这样你就不用浪费时间来创建与练习无关的文件。这些文件和书中的步骤说明可以让你边动手边学习,这是掌握并牢记新技术的一个简单有效的方法。
安装C#代码示例
按照下面的步骤在你的计算机上安装C#代码示例来与书中的练习一起使用。注意代码示例安装需要修改IIS,因此你必须以管理员的身份登录计算机后才能进行安装。1.从机工新阅读网站(www.cmpreading.com)下载CD打包文件,然后执行包中的StartCDexe程序文件。
2.检查最终用户许可协议。如果你同意这些条款,选择接受然后点击“下一步”。这时会出现一个菜单,上面包含了一些关于本书的选项。
3.点击“安装代码示例”。
4.按照出现的指示操作。注意如果IIS没有安装并运行,就会弹出一个消息框提示安装程序无法连接到IIS。你可以选择忽略这个信息并安装代码示例文件,但是这样的话代码示例就无法正常运行。代码示例将被安装到计算机的如下位置:\\My Documents\\Microsoft Press\\ASPNET 35 Step by Step\\安装程序会在默认Web站点下生成一个名为aspnet35sbs虚拟目录。在此虚拟目录下会生成多种类型的Web应用程序。要查看这些设置,请打开Internet信息服务控制台。
使用代码示例
本书中每一章都说明了在什么时候、怎么样去使用这一章的代码示例。当需要用到代码示例时,书中会列出一个告诉你如何打开文件的步骤说明。很多章节中的工程都是完全从头开始建立的,因此你可以了解到整个开发的过程。一些例子会用到前面例子中的代码。以下是一个代码示例工程的综合列表。工程描述第1章HelloWorldasp, Selectnoformasp,Selectfeaturehtm, Selectfeature2htm,Selectfeatureasp一些说明原始HTTP请求不同例子的Web资源WebRequestor发布原始HTTP请求的一个简单程序第2章HelloWorld, HelloWorld2, HelloWorld3,HelloWorld4, HelloWorld5, partial1cs,partial2cs这些Web资源阐述了ASPNET的编译模型和部分类第3章BunchOfControlshtm,
BunchOfControlsasp,
BunchOfControlsaspx说明生成控件标签的Web资源ControlORama说明Visual Studio及服务器端控件的基于Visual Studio的工程第4章ControlORama说明创建和使用生成的服务器端控件第5章ControlORama说明生成和使用组合的服务器端控件和自定义控件第6章ControlPotpourri说明控件的验证,TreeView与MultiView/View控件第7章UseWebParts说明Web应用程序中Web部件的使用(续)工程描述第8章MasterPageSite说明使用母版页、主题和外观在一个单独的Web应用程序中开发所有多媒体页面都通用的外观和风格第9章ConfigORama说明ASPNET中的配置,展示如何管理Webconfig文件,如何添加新的配置元素,如何检索这些配置元素第10章SecureSite阐述Web站点中的Forms验证和授权Loginaspx,
OptionalLoginaspx, WebConfig,
WebConfigForceAuthentication,
WebConfigForOptionalLogin说明最基础水平Forms验证的Web资源第11章DataBindORama说明一些不同控件的数据绑定,包括GridView控件;还说明了将数据加载和保存为XML和XML 图表形式第12章NavigateMeSite说明ASPNET的导航特性第13章MakeItPersonal说明ASPNET的个性化特性第14章SessionState说明使用Web应用程序中的会话状态第15章UseDataCaching说明利用缓存数据来提升性能第16章OutputCaching说明利用缓存输出来提升性能第17章DebugORama说明排除bug和追踪Web应用程序第18章UseApplication说明使用全局应用程序对象和HTTP模块作为应用程序的集结点;
说明全局范围内的数据存储及程序内事件的处理第19章CustomHandlers说明作为单独程序集以及ASHX文件的自定义HTTP处理程序第20章QuoteService说明针对随机引用的Web服务第21章WCFQuotesService说明针对随机引用的基于WCF的服务(续)工程描述第22章AJAXORama说明使用AJAX提升终端用户的体验第23章XAMLORama说明ASPNET站点中融合XAML的内容第24章DeployThis说明怎样为部署Web站点制作一个安装程序包
所有这些工程都是现成的实践练习的完整答案(当你需要一些提示的时候可作为参考)。
卸载代码示例
按照以下步骤从计算机中卸载代码示例:
1在控制面板中打开“添加或删除程序”。
2从当前已安装程序的列表中,选定“Microsoft ASPNET 35Step by Step”。
3点击“删除”。
4然后按照系统提示操作来删除代码示例。
软件发布
本书内容已经检查并在Visual Studio 2008中测试通过。因此能够与Visual Studio 2008的最终版本完全兼容。
本书支持
我们已经尽了一切努力来确保本书内容的准确性。我们还将不断收集修订或改正过的内容然后添加到微软知识库的文章中。微软出版社将在以下站点为本书提供技术支持:http://wwwmicrosoftcom/learning/support/books/
问题和意见
如果你对本书的内容有意见、问题或者一些想法,或者有在上述支持站点上找不到答案的问题,请发送E-mail到微软出版社,地址是:mspinput@microsoftcom
或者直接写信到以下地址:
Microsoft Press
Attn: Step by Step Series Editor
One Microsoft Way
Redmond, WA 98052-6399
请注意:前面的地址不提供微软软件产品支持。致谢
几年前我收到一张我儿子送的父亲节卡片。当我打开时,看到他用HTML写的祝愿!html
head title Father’s Day Card titlehead
body Happy Father’s Day!!! body
/html擦干眼泪看着Ted送的卡片,这更加坚定了我对基于Web应用程序的信心,它们必定会越来越重要。Web渗透到我们社会的任何一个角落。无论你是希望提高业务可见度的商人,或是试图想要找本绝版书的狂热读者,或是想从学校网站了解家庭作业的学生,还是任何信息的生产者或使用者,你都需要与互联网打交道。
出版一本书需要付出巨大的努力。我的名字作为本书作者位于封面上,但是实际上我只是做了一部分工作。我要感谢很多在本书出版过程中帮助过我的朋友们。
感谢你,Claudette Moore,再次为我与微软出版社牵线搭桥。Claudette是我与微软出版社所有合作工作的代理人,帮我处理作品相关的商业事务,使我能够安心写作。感谢Kathleen Atkins对于这个项目的管理。与你们一起工作很开心。感谢Charlotte Twiss和Angie Karp,帮助我把代码示例制作到CD上。感谢Gordon 出版社的Linnea Hermanson及所有工作人员为本书做的编辑工作,使它看上去似乎是我能够使用连贯的句子,你们的编辑、制作和编排工作做得非常棒。感谢Kenn Scribner,给我提供了最独到客观的技术见解。感谢Ben Ryan,接受了创作这本书的提议,并雇用我来做这项工作。
感谢Jeff Duntemann,是你在《PC Tech Journal》期刊上出版了我的第一部作品。感谢JD Hildebrand,出版了我的第二部作品并给予我在Oakley出版社与你们大家一起工作的机会。Sandy Daston,感谢你在我写作生涯初期给予的支持和指导。还要感谢DevelopMentor的全体工作人员,你们是非常棒的技术团队,与你们共事,让我学到了很多新技术。
感谢Christine Shooter,感谢你的关爱和支持。你是最棒的,没有人能够比拟。感谢我出色的Java孪生兄弟,PatShepherd以及他的家人Michelle、Belfie和Bronson带给我这个夏天最棒的密歇根之旅,这是这个项目中一次惬意的休整。感谢Ted Shepherd,你是最棒的儿子。感谢George Robbins Shepherd 和Betsy Shepherd,你们作为我的父母指引并鼓励着我永远做最棒的自己。我想念你们。目录
手把手,循序渐进教你学习ASP.NET 3.5
对于有基础编程技能但对ASP. NET陌生的人来说,本书是一本理想读物。它手把手地教你在Microsoft Visual Studio 2008开发环境中开发Web应用程序。
本书教你学会如何
■利用控件创建并个性化Web应用程序。
■开发一个持续性的具有母板页面、主题以及皮肤的自定义UI。
■用UI元素表示数据集合。
■使用菜单栏和导航提示跟踪功能创建有效的站点导航。
■管理基于Web的安全性。
■配置、管理和存储会话状态。
■缓存数据与内容以提高应用程序的性能。
■诊断错误并调试应用程序。
■构建XML Web服务。
■应用AJAX和WCF技术。
George Shepherd:George Shepherd: 微软.NET框架方面的专家,曾为行业中的第三方开发过一些先进的以.NET为基础的工具。他是多本编程类畅销书的合著者,DevelopMentor的指导者,一些业内会议的讲师,以及MSDN杂志的编辑。他从20世纪80年代Windows 2.0时就一直从事编程工作。
罗江华:暂无简介
ASPNET 35是基于微软NET 35框架的动态页面开发技术,其秉承了ASPNET 10/11/ 20的组件开发技术,提供Web开发所需要的大部分组件,如登录、验证、数据源管理、数据显示、网页导航设计等。开发人员使用ASPNET 35,不仅可以开发出美观的界面,还可以通过后台技术,实现数据管理、动态页面更新等新技术。
书中的每一个部分都以举例这种让很多程序员容易接受的方式来展开某一项具体的ASPNET特性应用,并且每个例子也十分浅显易懂,图文并茂。本书特别适合于刚接触ASPNET的开发人员。书中包含了对于Web开发的详细描述,即使你已经有过开发桌面软件的经验,这些知识也同样有用。同样地,对于从ASPNET 1x 或者 20,甚至传统ASP中迁移过来的开发人员,本书也为你阐释了ASPNET 35与ASPNET 1x 以及 20之间的差别,还包括了对于ASPNET与传统ASP之间差别的参考说明。根据作者的写作意图,你在阅读本书的时候并不需要以任何特定的顺序来阅读,因为它的每一个章节基本上都是独立的。本书涵盖的知识点也相当丰富,从最基础的Web开发基础,到Web中的高级技术,比如:AJAX、WPF、WCF等这些当前最新、最热门技术,学习完这些为你构建强大的企业级应用一定能起到很大的帮助作用。所以,如果你属于上面提到的角色或者另一类新技术追随者,那还等什么呢?别犹豫了!现在就开始你的ASPNET 35学习之旅吧!
本书在翻译过程中得到了很多朋友的支持和帮助,再次特别感谢你们。他们是:现在德国读书的邓惠晶妹妹,就职于IBM 的郑铮兄弟,以及现就读于四川师范大学的弟弟罗峰同学。
由于本书的翻译进度要求高,涉及技术面广,翻译难度较大;加之译者水平有限,书中难免有疏漏或错误,欢迎广大读者批评指正。
罗江华
2008年9月于新加坡
译者序
前言
致谢
第一部分基础
第1章Web应用程序基础1
11HTTP请求1
111来自于浏览器的HTTP请求2
112不使用浏览器创建HTTP请求3
12超文本标记语言4
13动态内容6
131HTML表单6
132通用网关接口7
133微软Web服务器平台8
14Internet信息服务8
141Internet服务应用程序编程
接口DLL9
142Internet信息服务9
15传统ASP(站在ASPNET的
角度)13
16Web开发概念15
17ASPNET15
18小结16
19第1章快速参考16
第2章ASPNET应用程序基础17
21规范的Hello World应用程序17
211构建HelloWorld Web应用
程序17
212混合HTML与可执行代码21
213服务器端的可执行代码块23
22ASPNET编译模型28
23代码选项29
231ASPNET 1x样式30
232现在的 ASPNET样式30
24ASPNET HTTP管道32
241IIS 5x和IIS 6x管道33
242IIS 70集成管道33
243管道概述34
25Visual Studio和 ASPNET35
251本地IIS Web站点35
252基于文件系统的Web站点36
253FTP Web站点36
254远程Web站点36
255Hello World和Visual Studio37
26小结41
27第2章快速参考42
第3章页面呈现模型43
31以标签的方式呈现控件43
32以组件方式封装UI45
321ASPNET页面46
322页面呈现模型47
323页面控件树48
33使用Visual Studio添加控件49
331使用Visual Studio构建页面49
332布局考虑56
34小结57
35第3章快速参考58
第4章自定义呈现控件59
41Control类59
42Visual Studio和自定义控件60
43Palindrome Checker66
44控件和事件69
45HtmlTextWriter和控件71
46控件和ViewState73
47小结76
48第4章快速参考77
第5章复合控件78
51复合控件与呈现控件78
52自定义复合控件79
53用户控件85
54使用各种类型控件的时机91
55小结91
56第5章快速参考91
第6章控件集合92
61验证92
611页面验证是如何工作的96
612其他验证器98
613验证器属性98
62基于Image的控件99
63TreeView102
64MultiView105
65小结107
66第6章快速参考107
第二部分高级特性
第7章Web Parts109
71Web Parts简史110
72Web Parts的好处是什么110
721开发 Web Parts控件110
722Web Parts页面开发110
723Web Parts应用程序开发110
73Web Parts架构111
731WebPartManager和
WebZones111
732内置区域111
733内置 Web Parts112
74开发Web Part120
75小结127
76第7章快速参考127
第8章提供持续统一的外观128
81一致的外观128
82ASPNET Master Page129
83主题138
84皮肤140
85小结142
86第8章快速参考142
第9章配置143
91Windows配置143
92NET配置144
921MachineConfig文件144
922配置节处理程序144
923WebConfig文件146
924在ASPNET 1x中进行
配置管理147
925在ASPNET后面的版本中
进行配置管理147
93使用IIS进行ASPNET配置151
94小结155
95第9章快速参考155
第10章登录156
101基于Web的安全性156
1011IIS安全性157
1012基本的Forms验证157
102ASPNET验证服务161
1021FormsAuthentication类161
1022可选登录页面162
103用户管理165
104ASPNET登录控件169
105为用户授权171
106小结173
107第10章快速参考174
第11章数据绑定175
111不使用数据绑定来显示集合175
112使用数据绑定显示集合175
1121基于ListControl的控件176
1122TreeView176
1123Menu176
1124FormView176
1125GridView177
1126DetailsView177
1127DataList177
1128Repeater177
113简单数据绑定177
114访问数据库181
115NET数据库181
1151连接181
1152命令183
1153管理结果集184
116ASPNET数据源185
117其他数据绑定控件189
118LINQ195
119小结197
1110第11章快速参考197
第12章Web站点导航198
121ASPNET的导航支持198
1211导航控件198
1212XML站点地图199
1213SiteMapProvider199
1214SiteMap类200
1215SiteMapNode200
122导航控件201
1221Menu和TreeView控件201
1222SiteMapPath控件202
1223站点地图配置202
123构建可导航的Web站点203
124捕获SiteMapResolve事件206
125为节点添加自定义属性207
126安全控制209
127URL映射210
128小结213
129第12章快速参考214
第13章个性化215
131Web访问中的个性化215
132ASPNET中的个性化215
1321使用Profile215
1322个性化提供程序216
133使用个性化216
1331在WebConfig文件中
定义Profile216
1332使用Profile信息217
1333保存Profile的变化217
1334Profile和用户218
134小结222
135第13章快速参考222
第三部分缓存和状态管理
第14章会话状态223
141为何需要会话状态223
142ASPNET与会话状态224
143会话状态概述224
144会话状态及其他复杂数据228
145配置会话状态234
1451关闭会话状态235
1452通过InProc保存会话状态235
1453在状态服务器上保存
会话状态235
1454在数据库中保存会话状态236
146跟踪会话状态236
1461使用Cookies来跟踪会话
状态236
1462使用URL来跟踪会话状态237
1463使用AutoDetect238
1464应用设备配置238
1465会话状态超时238
147其他会话配置设定238
148Wizard控件:会话状态的一个
可用替代239
149小结246
1410第14章快速参考246
第15章应用程序数据缓存247
151使用数据缓存249
152缓存的作用250
153管理缓存251
1531内存中的数据集252
1532缓存过期254
1533缓存依赖256
1534SQL Server依赖258
1535清理缓存259
154小结261
155第15章快速参考262
第16章缓存输出263
161缓存页面内容263
162管理缓存内容265
1621修改OutputCache指令265
1622HttpCachePolicy269
1623缓存定位270
1624输出缓存依赖270
1625缓存Profile271
163缓存用户控件271
164输出缓存有意义的时候274
165小结275
166第16章快速参考275
第四部分诊断和管道
第17章诊断和调试277
171页面跟踪277
1711启用跟踪277
1712跟踪语句281
172应用程序跟踪283
1721以编程方式启用跟踪285
1722TraceFinished事件286
1723其他管道跟踪消息286
173使用Visual Studio调试286
174错误页面289
175未处理的异常292
176小结293
177第17章快速参考293
第18章HttpApplication类和 HTTP
模块295
181Application对象:一个交汇点295
182重写HttpApplication296
1821应用程序状态的附加说明298
1822事件处理298
1823HttpApplication事件299
183HttpModules301
1831存在的模块301
1832实现一个模块302
1833查看活动的模块304
1834在模块中存储状态306
184Globalasax与HttpModules308
185小结309
186第18章快速参考309
第19章自定义Handler310
191Handler310
192内置Handler311
193IHttpHandler314
194Handler和会话状态318
195一般Handler (ASHX文件)318
196小结320
197第19章快速参考321第五部分服务、AJAX、部署
以及Silverlight第20章ASPNET Web服务323
201Remoting323
202Web上的Remoting324
2021SOAP325
2022传输类型系统325
2023Web服务描述语言325
203如果你不能使用ASPNET325
204ASPNET中的Web服务326
205调用Web服务332
206异步执行335
207Web服务的演化过程338
208其他特性338
209小结339
2010第20章快速参考339
第21章WCF340
211分布式计算的回归340
212一些零散的通信API340
213面向互联系统的WCF341
214WCF的组成元素341
2141WCF端点341
2142通道342
2143行为342
2144消息343
215如何在ASPNET中玩转WCF343
2151并行模式343
2152ASPNET兼容模式343
216编写一个WCF服务344
217构建一个WCF客户端349
218小结353
219第21章快速参考354
第22章AJAX355
221什么是AJAX356
222AJAX概述356
2221使用AJAX的原因356
2222真实世界的AJAX358
2223正确的AJAX358
223ASPNET服务器端控件对AJAX的
支持359
2231ScriptManager控件359
2232ScriptManagerProxy控件359
2233UpdatePanel控件359
2234UpdateProgress控件359
2235Timer控件360
224AJAX客户端支持360
2241ASPNET AJAX控件
工具箱360
2242其他的ASPNET AJAX社区
支持材料360
2243AJAX控件工具箱集合361
225熟悉AJAX362
226定时器367
227更新进展373
228扩展控件376
2281AutoComplete扩展376
2282一个模态弹出对话框
风格的组件381
229小结384
2210第22章快速参考385
第23章ASPNET与WPF386
231WPF是什么386
2311与Web应用有什么关系387
2312松散的XAML文件388
2313XBAP应用程序388
232WPF内容以及Web应用程序389
233关于Silverlight393
234小结394
235第23章快速参考394
第24章Web应用程序类型如何
影响部署395
241Visual Studio工程395
2411HTTP工程395
2412FTP工程396
2413文件系统工程396
242预编译396
2421预编译性能396
2422预编译部署397
2423发布一个Web站点403
243小结404
244第24章快速参考404