本书作为《ASP.NET 2.0技术内幕》的姐妹篇,侧重于延伸和拓宽ASP.NET 2.0的高级主题,进一步帮助读者掌握并深入ASP .NET 2.0的精髓,为将来成功地构建复杂精巧的、功能性更强的Web应用程序奠定基础。全书共三部分:ASP.NET内部机理、特有特性和ASP.NET控件。\r\n 本书适合从事Web开发的程序员阅读,旨在帮助他们提升ASP.NET开发技能。
第Ⅰ部分 ASP.NET内部机理\r\n 第1章 ASP.NET编译模型\r\n 1.1 ASP.NET运行库环境\r\n 1.2 应用程序预编译\r\n 1.3 ASP.NET编译机制的构造块\r\n 小结\r\n 第2章 HTTP处理程序和模块\r\n 2.1 IIS可扩展性API概述 \r\n 2.2 编写HTTP处理程序\r\n 2.3 编写HTTP模块\r\n 小结\r\n 第3章 ASP.NET配置 \r\n 3.1 ASP.NET配置层次结构 \r\n 3.2 管理配置数据\r\n 小结\r\n 第4章 构建自定义的ASP.NET 提供程序\r\n 4.1 提供程序的结构 \r\n 4.2 内建的ASP.NET提供程序\r\n 4.3 构建自己的提供程序\r\n 小结\r\n 第5章 构建特征丰富的页面\r\n 5.1 构建异步页面\r\n 5.2 构建自定义的表达式\r\n 5.3 构建ASP.NET页面的解析器筛选器\r\n 小结\r\n第Ⅱ部分 特有特性 \r\n 第6章 使用脚本代码\r\n 6.1 添加客户端脚本到页面\r\n 6.2 脚本回调 \r\n 6.3 Ajax.NET库\r\n 小结 \r\n 第7章 用Web Part合成页面\r\n 7.1 Web Part一瞥\r\n 7.2 构建Web Part\r\n 7.3 编辑和列出Web Part\r\n 7.4 连接Web Part\r\n 小结\r\n 第8章 移动编程\r\n 8.1 移动控件概述\r\n 8.2 开发移动应用程序\r\n 小结\r\n 第9章 使用图像 \r\n 9.1 从Web页面访问图像\r\n 9.2 访问数据库图像\r\n 9.3 动态生成图像\r\n 小结\r\n 第10章 站点导航\r\n 10.1 定义站点地图信息\r\n 10.2 访问站点地图信息\r\n 10.3 显示站点地图信息\r\n 小结\r\n第Ⅲ部分 ASP.NET控件 \r\n 第11章 ASP.NET迭代控件\r\n 11.1 究竟什么是迭代控件\r\n 11.2 Repeater控件\r\n 11.3 DataList控件\r\n 小结\r\n 第12章 ASP.NET Web用户控件 \r\n 12.1 究竟什么是用户控件 \r\n 12.2 开发用户控件\r\n 12.3 关注用户控件\r\n 小结 \r\n 第13章 创建ASP.NET自定义控件\r\n 13.1 扩展现有控件\r\n 13.2 从头开始创建控件\r\n 13.3 创建丰富控件\r\n 小结\r\n 第14章 数据绑定控件和模板化控件\r\n 14.1 设计数据绑定控件\r\n 14.2 创建简单的数据绑定控件\r\n 14.3 创建数据绑定列表控件\r\n 14.4 创建模板化组合控件 \r\n 小结 \r\n 第15章 自定义控件的设计时支持\r\n 15.1 .NET中的设计时体系结构\r\n 15.2 设计时特性\r\n 15.3 呈现类型 \r\n 15.4 自定义设计器\r\n 小结
ASP技术简化了服务器端应用程序的开发,ASP.NET则进一步缩短了桌面应用开发与Web开发的差距,能更快速、容易地建立灵活、安全和稳定的应用程序。ASP.NET是一种建立动态Web应用程序的技术,是.NET Framework的一部分。我们可以使用任何一种.NET语言来编写ASP.NET应用程序。
ASP.NET 1.x虽然有很多优势,但还有一些地方未尽人意,程序员需要耗费大量的时间和精力来开发一些常见的程序。为了让Web开发变得更简单,微软推出了ASP.NET 2.0。ASP.NET 2.0内置了更多控件,在ASP.NET 1.x中需要程序员绞尽脑汁才能实现的一些功能,在ASP.NET 2.0中只需简单套用这些控件即可轻松实现。
本书的技术审校由《ASP.NET 2.0开发指南》的作者郝刚同志负责。他在审校过程中,中肯地提出我在翻译过程中没有注意到的问题,为进一步保证本书信息准确性起到了积极作用。再次对他表示衷心的感谢!
在翻译过程中,我尽量保持原书的特色,并对书中出现的术语和难词难句进行了仔细推敲和研究,但疏漏和争议之处难免,望广大读者提出宝贵的意见。在此,我想感谢我的家人,他们总是无怨无悔地支持我的一切工作,我为有这样的家庭而深感幸运。
最后祝愿广大读者能多花些时间细细品位这本凝聚着作者与译者大量心血的优秀图书,为将来的职业生涯奠定良好的基础。
施平安
海军兵种指挥学院
Dino Esposito是全球著名的ASP.NET和ADO.NET专家,目前就职于Solid Quality Learming.这是一家专门提供微软技术高端教育和培训服务的全球化公司。他经常在行业大会(如微软开发人员大会和微软技术大会)上发表演讲,同时也是MSDN Magazine和其他出版物的特约撰稿人。他出版过多部专著,其中包括《ASP.NET2.0技术内幕》。
前 言
在2004年夏天,我便着手规划这本ASP.NET 2.0大部头。根据我当时的第一个大纲,全书有1600多页。无论内容有多好、作者人气有多旺,这样的鸿篇巨著难免太厚了。无论从哪方面看,一本1600页厚的书都不容易管理。
对作者而言,如此一本1600页的鸿篇巨著很难管理,因为首先要了解、消化、剖析和测试海量信息,然后还要对它们进行组织,进而将它们表达出来。对作者的家庭而言,也不是一件容易的事情,因为写作这样的大部头至少需要长达9个月的时间,不仅要用掉“白天工作时间”,还会占用个人闲暇时间、亲子时间、与妻子在一起的时间以及能够想像到的其他种种时间。
对负责加工和润饰这本大部头的编辑而言,也是一项不容易实现的重要任务。对技术审校人员来说也很棘手,他们必须确保其中的所有范例代码有效,伪代码能运行。
最后,对读者而言,如此鸿篇巨著也不容易管理,1600页的教材确实很笨重,不便于携带和翻阅。
因此,我们决定把原来构思的大部头分成两本:《ASP.NET 2.0技术内幕》和《ASP.NET 2.0高级编程》。这两本书全面介绍了ASP.NET平台。
我们根据如下原则将原目录表分成两部分:ASP.NET 2.0开发人员基本主题(这些主题能帮助他们快速构建高品质的ASP.NET 2.0应用程序)和其他主题(这些主题虽然重要,但属于高级主题,或者说不属于基本主题。基本主题包含在《ASP.NET 2.0技术内幕》内,其他主题则包含在本书《ASP.NET 2.0高级编程》内。充分理解ASP.NET平台的核心知识以后,需要了解的主题都包含在本书内。
另一方面,数千开发人员从一开始就参与各种活动,跟踪ASP.NET 2.0的演变。这些潜在的读者可能想跳过前面的阶段,直接进入编译模型或自定义控件。
总之,ASP.NET是一个庞大的主题,我的目标是尽量向大家提供最精确且深刻的信息。这样一来,一本书的篇幅自然会超过普通图书。因此,我们将该主题分割到两本独立的书中,在保证两本书的内容尽量不重叠的同时,分别介绍基本主题和高级主题。这两本书中的任何一本书都没有涵盖ASP.NET的所有主题,但两者相得益彰,结合起来展现了整个ASP.NET平台的最新知识。
本书不是《ASP.NET 2.0技术内幕》的修订和加深版。它在后者的基础上进行了延伸和补充,深入讨论其中简单提到的一些主题(例如,提供程序、控件和编译),并添加了一些新的、更高级的主题(诸如Web Part、移动控件、导航、配置和部署等)。
在将一个表示独立知识块的主题分解成多个部分时,一般是根据个人的喜好来进行的,因而难免会引起其他人的争议。但在一本篇幅适中的书中做出取舍以便为读者提供准确而深刻地介绍ASP.NET 2.0是必要的。
本书所面向的读者
本书不适合新手,具体有两个原因。本书难免会以《ASP.NET 2.0技术内幕》中讨论的某些材料为基础,因而要求你已读过该书,或者已经具备与此相当的知识。此外,本书不提供用于说明Visual Studio 2005各个向导的屏幕截图,也没有提及需要选定或撤选哪些选项以便通过代码获得某种行为。当然,这并不意味着我反对使用Visual Studio 2005,或者不推荐使用Visual Studio 2005开发ASP.NET应用程序。Visual Studio 2005是一个用于编写ASP.NET 2.0应用程序的优秀工具,但单纯从ASP.NET的技术角度看,Visual Studio 2005只是一种工具而已。本书的目标是全面介绍ASP.NET技术。
对于已经阅读并消化了《ASP.NET 2.0技术内幕》或具备与此相当知识的开发人员,我极力推荐他们使用本书。尽管如此,本书中的一些主题仍然是不需要任何预备知识的。这些主题包括Web Part、移动控件、ASP.NET配置以及整个第Ⅲ部分的内容(这部分专门讨论控件)。
本书的结构
本书分为三个部分:ASP.NET内部机理、特有特性和ASP.NET控件。
第Ⅰ部分详细描述编译模型、运行时环境的自定义和配置以及提供程序模型。第5章举例说明一些能使页面更丰富、更有效的高级特征和技术。
第Ⅱ部分强调ASP.NET平台的特殊能力,可以用它们来构建页面和应用程序的特殊特征。这包括脚本(特别是脚本回调)、Web Part(用于创建类门户的应用程序)、移动应用程序(用于无线设备)以及导航API(用于改善大型复杂站点的管理)。
第Ⅲ部分专门讨论控件。我介绍了两个低级迭代控件(Repeater和DataList),它们虽然被新的“视图”控件(GridView,DetailsView和FormView)取而代之,但创建无格式用户界面时,只能依靠它们。此外,这部分还讨论了Web用户控件,并提供了一个应急课程,专门介绍自定义控件、模板、数据绑定以及如何向自己的控件添加设计时特性。
系 统 需 求
为了创建和运行本书的范例代码,需要具备如下硬件和软件:
Microsoft Windows XP并安装Service Pack 2、Microsoft Windows Server 2003并安装Service Pack 1或者Microsoft Windows 2000并安装Service Pack 4。
Microsoft Visual Studio 2005标准版或Microsoft Visual Studio 2005专业版。
IIS(Internet Information Services,Internet信息服务),这并不是一个严格要求,但有助于在现实的运行环境中测试示例应用程序。
Microsoft SQL Server 2005 Express(Visual Studio 2005自带的)或Microsoft SQL Server 2005。
Microsoft SQL Server 2000的Northwind数据库,本书中的大多数实例用它来说明数据访问技术。如果使用的是SQL Server 2005,则可以从如下网址下载Northwind数据库的安装脚本:http://www.microsoft.com/downloads/details.aspx? FamilyId=06616212-0356- 46A0-8DA2-EEBC53A68034&displaylang=en。
766 MHz Pentium或兼容处理器(推荐使用1.5 GHz Pentium处理器)。
256 MB RAM(推荐使用512 MB或更多的内存)。
显示器(800×600或更高分辨率),至少有256色(推荐使用1024×768的16位真彩色)。
CD-ROM或DVD-ROM驱动器。
Microsoft鼠标或兼容的指示设备。
配置SQL Server 2005 Express Edition
本书中的一些范例代码要求我们使用SQL Server 2005 Express Edition(或SQL Server 2005)来创建和使用Northwind Traders数据库。如果正在使用SQL Server 2005 Express Edition,则以Administrator身份登录到计算机上,并遵循以下步骤将访问权限授予我们将用来执行本书练习的用户帐户:
1. 在Windows“开始”菜单上,单击“所有程序”,单击“附件”,然后单击“命令提示符”打开命令提示符窗口。
2. 在命令提示符窗口中,输入如下命令:
sqlcmd –S YourServer\SQLExpress –E
把YourServer替换为计算机名称。
在运行sqlcmd命令之前,在命令提示符窗口运行hostname命令找到计算机名称。
3. 在1>提示符下,输入如下命令(包括中括号):
sp_grantlogin [YourServer\UserName]
把YourServer替换为计算机名称,而把UserName替换为你将使用的用户帐户。
然后按下回车键。
4. 在2>提示符下,输入如下命令:
go
然后按下回车键。
如果看到错误消息,检查是否已正确输入sp_grantlogin命令,包括中括号。
5. 在1>提示符下,输入如下命令(包括中括号):
sp_addsrvrolemember [YourServer\UserName], dbcreator
然后按下回车键。
6. 在2>提示符下,输入如下命令:
go
然后按下回车键。
如果看到错误消息,检查是否已正确输入sp_addsrvrolemember命令,包括中括号。
7. 在1>提示符下,输入如下命令:
go
然后按下回车键。
8. 关闭命令提示符窗口。
技 术 更 新
如果与本书相关的技术有更新,新增信息的链接将添加到Microsoft Press Technology Updates网页中。请定期访问该页面,了解Visual Studio 2005和其他技术的更新信息:http://www.microsoft.com/mspress/updates/。
范 例 代 码
本书中讨论的所有范例代码都可以从如下地址的本书配套内容页下载:
http://www.microsoft.com/m
无封面