首页>参考读物>计算机科学与技术>软件与程序设计

Microsoft ASP.NET AJAX 导学
作者 : Dino Esposito
译者 : 成保栋
出版日期 : 2008-06-30
ISBN : 7-111-24372-4
定价 : 39.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 288
开本 : 16开
原书名 : Introducing Microsoft ASP.NET AJAX
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

在领悟ASP.NET技术之后,开始使用最新的框架开发支持AJAX的ASP.NET应用程序。本书涉及2007年2月发布的ASP.NET AJAX Extensions 1.0。它通过实际操作和丰富的代码实例,帮助你使用最新的Web开发工具创建新型的应用程序。

  阅读本书,你将能够:
  ●理解AJAX工作方式的基础,以创建交互的、响应的应用程序。
  ●使用Microsoft AJAX库来支持面向对象的JavaScript程序。
  ●使用ASP.NET AJAX Control Toolkit中丰富的、高级的控件。
  ●不进行客户端程序设计也能显示部分页面。
  ●使用ASP.NET内建的验证和来自JavaScript的profile服务。
  ●创建可以从JavaScript调用的服务器端服务。

图书特色

图书前言

AJAX表示“Asynchronous JavaScript and XML”,它是2005年提出的一个术语,指用于创建丰富的、高度交互性和响应性的Web应用程序的众多技术,主要是应用程序利用客户端进行大量工作,并向服务器进行带外调用(outofband call)。带外调用是一种服务器请求,它将会导致页面的更新,而不是页面替换。这一技术的效果让AJAX Web应用程序在一定程度上更像是传统的桌面Microsoft Windows应用程序,具有桌面程序的许多高级功能,如拖放、异步任务、高度的程序响应和没有抖动的用户界面,并保证用户功能的可用性。
ASPNET AJAX Extensions是对ASPNET平台的一个重要扩展,可以用更加合理和有效的方式来实现AJAX风格的功能。因为已经将ASPNET AJAX Extensions设计为ASPNET的一部分,所以它可以同现有的平台和应用程序模型无缝集成。
从体系结构上来说,ASPNET AJAX框架由两个完全不同的元素组成:一个客户端数据库和一组服务器端扩展组件。客户端脚本库完全是用JavaScript编写的,因此,可以在现有的任何浏览器中运行。服务器扩展组件完全与以ASPNET服务器为基础的各种服务和控件相集成,这样,开发人员就可以用他们所熟悉的、与开发传统的基于ASPNET服务器页面类似的方式来创建丰富的Web页面。
大多数ASPNET AJAX开发人员以前都从事过ASPNET开发,所以他们对以控件为基础的服务器端开发模型会相当熟悉。以服务器为中心的编程模型是ASPNET编程模型发展史上迈出的重要一步。ASPNET AJAX服务器端控件的功能非常强大,尤其是开发人员对手工创建AJAX客户端脚本不太熟悉时更为有用。
本书通过大量实例来讲述ASPNET AJAX的大致框架,让读者可以熟悉种种相关的技术和工具。
对于ASPNET开发人员和专业的人士来说,AJAX真是一个重要的突破。它使得跨浏览器编程成为现实,让Web程序具有了类似桌面程序的功能。
谁应该阅读这本书
本书适合任何ASPNET开发人员和专业人士阅读。如前所述,ASPNET AJAX是ASPNET发展当中的一个重要的里程碑,它反应了业界的一种基本倾向——AJAX模型。此外,ASPNET AJAX超越了经典的AJAX模型,它的框架可以跨越客户端和服务器,为Web应用程序提供点对点的解决方案。就Microsoft Web平台来说,ASPNET AJAX Extensions包罗了各种各样的功能(Web专业人员的夙愿最终得以实现了)。
如果你是一名Web专业人员,正在使用基于Microsoft的Web技术进行开发,AJAX一定是你值得抓住的一个机遇。这本书就是你的起点!甚至会收获更多。
本书是如何组织的
本书共分为三个主要部分:对平台和它的构建模块的综述,用于有效地增强现有网站性能的技术,和以客户端为中心的开发。在第一部分中,将讲述有关AJAX模型的基本概念,以及为了支持这一模型而对JavaScript语言做出的扩展。第二部分主要介绍框架中用于扩展现有的服务器端控件的构建元素,以及如何将现有的传统ASPNET页面转换为功能完善的AJAX页面。最后在第三部分中介绍了众多可以展示AJAX应用程序强大功能的开发工具和技术(对服务器端代码的带外调用)。
系统要求
为了可以运行本书的代码例子,需要具有以下硬件和软件:
支持的操作系统:Microsoft Windows Vista、Microsoft WindowsXP (安装了ServicePack2)、Microsoft Windows Server2003(安装了Service Pack1)或Microsoft Windows 2000(安装了Service Pack 4)
Microsoft Visual Studio 2005 Standard Edition或Microsoft Visual Studio 2005 Professional Edition
Microsoft SQL Server 2005 Express(已经包含在Visual Studio 2005中)或Microsoft SQL Server 2005
具有Intel PentiumIII 600MHz(或同等性能的处理器)或更高处理器(建议使用1GHz或更高的处理器)的计算机
最低192MB的RAM(建议使用256MB或更高的RAM)
至少支持256色,800×600或更高的分辨率的显示器(推荐用1024×768,16位真彩色)
Microsoft鼠标或其他兼容的定位设备
配置SQL Server 2005 ExpressEdition
本书中一些章节的例子需要可以访问SQL Server 2005 Express Edition(或SQL Server2005)来创建和使用Northwind Traders数据库。下面以SQL Server 2005 Express Edition为例,介绍为用户账号进行授权的步骤,使用经过授权的账号才可以运行本书中的示例代码。
1使用具有管理员权限的用户账号来登录机子上的Windows系统。
2在Windows的“Start”(开始)菜单中,点击“All Programs”(所有程序),点击“Accessories”(附件),再点击“Command Prompt”(命令提示符)来打开命令提示符窗口。
3在命令提示符窗口中,输入以下区分大小写的命令。sqlcmd-S YourServer\SQLExpress -E将YourServer替换为你的电脑主机名。
在运行sqlcmd命令之前,可以先在命令提示符窗口中运行hostname命令来查询计算机的主机名。
4在1>命令提示符后,输入以下命令,包括方括号,再按回车键:sp_grantlogin [YourServer\UserName]将YourServer替换为相应的电脑主机名,将UserName替换为你想要使用的用户账号。
5在2>提示符后,输入以下命令,并按回车键来确认:go如果出现错误提示信息,请先确认是否正确输入了sp_grantlogin命令,包括方括号。
6在1>命令提示符后,输入以下命令,包括方括号,再按回车键:sp_addsrvrolemember [YourServer\UserName], dbcreator7在2>提示符后,输入以下命令,并按回车键来确认:go如果出现错误提示信息,请先确认是否正确输入了sp_addsrvrolemember命令,包括方括号。
8在1>提示符后,输入以下命令,并按回车键来确认:Exit9关闭命令行提示窗口。
10注销管理员账号。
Northwind Traders数据库不再随SQL Server 2005一同发布,需要单独下载。可以从以下网站下载Northwind数据库的安装脚本:http://wwwmicrosoftcom/downloads/detailsaspx FamilyId=&displaylang=en,在下载页面中有详细的安装说明。
代码示例
书中所有的代码示例可以从本书的网址http://wwwmicrosoftcom/mspress/companion/9780735624139/下载,要下载示例文件,请单击该网页中的“Companion Content”(附带内容)链接。下载的代码包括了大多数章节的工程文件、代码片断和引用的例子。
本书支持
我们在编辑时尽了最大的努力,以确保本书和附带内容准确无误。所搜集到的错误反馈和修订将会及时在Microsoft知识库(Microsoft Knowledge Base)的文章中公布。
微软公司在以下Web站点为其发行的图书和附带内容提供支持:http://wwwmicrosoftcom/learning/support/books/。
问题和评论
如果你对本书及其配套内容有什么评论、问题或想法,或有通过访问上述网站无法找到答案的问题,请发电子邮件给Microsoft Press,邮箱地址是:
mspinput@microsoftcom
或发普通邮件到:
Microsoft Press
Attn: Introducing Microsoft ASPNET AJAX Editor
One Microsoft Way
Redmond, WA 980526399
请注意,以上地址不提供Microsoft软件产品的技术支持。
致谢
AJAX是Web开发人员最应该关注的技术之一。本书对任何Web开发者都适用,不论Web开发人员的技术背景如何,本书都为他们学习AJAX提供了平稳而有效的开端,编著一种新技术的图书总会具有一定的难度,因为作者不仅要自学新知识,还要不断寻找如何向别人解释和传授这种技术的最好方式。
我也通过这本书来学习ASP.NET AJAX,所以我将是这本书的第一个受益人。在我写完这本书之后,可以说,我相信自己对这一技术了解得已经相当多了。因为我学习能力强,还是因为这本书是本好书?对此我也不好下结论。
非常感谢Scott Guthrie花时间与我交流,向我解释技术发展方向和在2005年的Professional Developers Conference 会议前后开发团队的学习情况,正是在那次会议上第一次公布了“Atlas”平台。Simon Calvert为这一平台提供了个人指导,Stefan Schackow 为一些疑难问题提供了富有洞察力的答案。我贪婪地阅读了Bertrand LeRoy和Nikhil Kothari的大量日志(这些日志讲述的主题包罗万象),非常不错,我发现它们非常有用。
在编写这本书的过程中,我也联系了一些在AJAX领域活动的经销商,感谢来自ComponentOne的Miljan Braticevic、Infragistics的Tony Lombardo还有Telerik公司的Svetozar Georgiev。ASPNET AJAX确实非常伟大,但这些朋友和他们的团队工作得也很出色,他们为应用程序创建的组件可以让Web程序像桌面程序一样运行。
Christian Gross刚写了一本关于REST开发的著作,有助于我理解REST的概念以及它在AJAX和ASPNET AJAX中所扮演的角色(在第8章有相关介绍)。
有关这本书的创作过程,说来话长,可以这么说,在编写本书时,我周游了3个大陆和9个国家:意大利、美国、法国、西班牙、奥地利、澳大利亚、德国、英国和马来西亚。我的朋友Greg Linwood和Brett Clarke向我挑战,看我能不能在一周之内完成一章的创作,同时还得做培训,到墨尔本观光,并为一个非常重要的纪念日准备一场特别的Microsoft PowerPoint介绍。我真把这些活一气呵成,相当有趣!
Fritz Lechnitz也向我挑战,看我能不能在参加维也纳一场大型网球锦标赛的同时,也完成一章的创作。在那场比赛中,在对方顶尖选手暴风雨般的反手和正手球的攻击下,我被打得落花流水、晕头转向。
Andrea Saltarello也向我挑战,在ASPNET AJAX官方正式版本发布一周之后,就请我上一堂传授ASPNET AJAX的课。我们把它外包了出去。
最后,SolidQ的朋友也等不及我完成这本书,就开始发起一些大型的培训了。
还有谁?哦,当然,还有可爱的Lynn Finnel和整个编辑团队,他们非常灵活、开放,允许我把交稿日期一推再推。Kenn Scribner发现了ASP.NET AJAX和我,并不止一次地将我引向正确的轨道。(当然,我也会回报她的好意,但这经常是出于友谊……)
Ben Ryan非常想看到这本书,现在这本书终于面市了。感谢Ben!
一如既往,感谢我的妻子Silvia,还有我的孩子Francesco和Michela,我每写完一本书他们都会长高许多。

作者简介

Dino Esposito:Dino Esposito: 是意大利首都罗马的一位软件培训师兼顾问。他是Solid Quality Mentors团队的成员之一,专攻Microsoft.NET技术。他经常在欧洲、澳大利亚及美国从事技术和咨询工作。 多年来,Dino在为银行和保险公司搭建体系结构和创建分布式系统方面,积累了第一手的经验和技巧,这些经验技巧也同样适用于对安全、优化、性能、可伸缩性和交互性要求极高的应用场景。 全世界每个月至少有5家期刊和网站会发表Dino的文章,这些文章的主题包括从Web开发到数据存取,从软件最佳实践到Web服务等。

译者简介

成保栋:暂无简介

译者序

随着网站技术和Web 20概念越来越深入人心,AJAX(Asynchronous JavaScript And XML)已广泛应用于各类网站和公司内部的应用程序平台。它的发展促使广大程序员,由传统的服务器端 Render 开发方式逐步转变为由浏览器和应用程序平台的开发方式,除此之外为改善系统性能,提高系统运行效率的AJAX功能也在各种商业级应用程序中广泛使用。
  但是,AJAX需要针对浏览器客户端程序进行开发且采用标准的脚本语言格式,而这类语言具有非编译性和难调试性的特点,这就使得开发AJAX所需的成本和时间大量增加。
  Microsoft及其开发社区在ASPNET 20平台之上发展了一套基于典型AJAX开发所需控件组,这套控件集成了很多AJAX相关功能,使得本需要大量客户端脚本的开发变得简单。本书就是主要介绍ASPNET AJAX的。
  什么是AJAX
  术语AJAX用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验。在AJAX之前,Web站点强制用户进入提交、等待、重新显示的模式,用户的动作总是与服务器的“思考时间”同步。AJAX提供与服务器异步通信的能力,使用户从请求、响应的循环中解脱出来。AJAX可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来更新相应的UI,而不是刷新整个UI页面。最重要的是,用户甚至不知道浏览器正在与服务器通信:Web站点看起来是即时响应的。
  虽然AJAX所需的基础架构已经出现了一段时间,但直到现在异步请求的真正威力才得以展现。拥有一个响应极其灵敏的Web站点确实激动人心,因为它允许开发人员和设计人员使用标准的HTML/CSS/JavaScript创建桌面风格的(desktoplike)可用性。Google Maps 就是这类网站的典型代表,它的成功告诉我们,Web应用程序不必依赖于从服务器重新载入页面来向用户呈现更新。一切似乎都发生在瞬间。简而言之,在涉及用户界面的响应灵敏度时,基准设得更高了。
  什么是ASPNET AJAX
  如果说AJAX为Web增光添彩,那么ASPNET AJAX就是微软为ASPNET披上的金履玉衣。那么什么是ASPNET AJAX呢?它涉及很多方面的内容。其中最为显著的优点就是它能够和ASPNET实现无缝集成。 ASPNET AJAX完全支持Internet Explorer、Firefox和Safari浏览器。
  ASPNET AJAX 是一个以快速、方便地搭建新一代的强大、互动、个性化、支持大多数浏览器的 AJAX 网页为目标的免费框架。它集成了 Microsoft 浏览器客户端脚本资源和 ASPNET 20 服务器端方便的环境。
  ASPNET AJAX 是 ASPNET的一个扩展,采用了ASPNET服务器端的开发环境,因而ASPNET AJAX将客户端脚本和强大的 ASPNet 20服务器端脚本相互融合。你可以更方便地创建绚丽、互动的Web应用程序界面。
  采用ASPNet AJAX,你需要做的只是简单地拖拽几个控件到你的页面上,就可以使你的Web页面具有精彩的新一代AJAX用户界面的效果,同时大大地降低应用服务器层的资源消耗。
  本书的主要内容和阅读对象
  本书的作者Dino Esposito是MicrosoftNET技术方面的大师。本书既有原理性的讲解,也有示例说明。但本书并不是一本参考大全类型的图书,这位大师通过一些简单的例示,讲解了ASPNET AJAX实现的技术原理、基本原则、良好习惯、正确思路和应该注意的设计模式。能从本书中领会到这位大师的思想精髓和实践经验,就是读者的最大收获。如果读者能够通过书中的几个案例真正领悟这些AJAX开发的原则、习惯和思路,就一定能让自己的Web编程技术再上一个台阶。
在此感谢我的朋友王立勇、朱东峰、周瑞涛、张昱等对本书翻译和校对工作的积极参与,也感谢我的家人对我翻译工作的大力支持,没有他们的帮助,就无法早日完成本书的翻译。
  您是否已经迫不及待地要一览究竟了。那么别再犹豫,让我们一起跟随Dino Esposito大师进入ASPNET AJAX的世界吧。最后,祝您阅读愉快。

  成保栋
  2008年3月22日

图书目录

译者序
作者简介
前言


第一部分ASPNET AJAX构建模块
第1章AJAX的发展2
11变革的过程3
111传统的Web应用程序4
112基于AJAX的Web应用程序5
113Rich浏览器的角色7
12AJAX核心引擎8
121XMLHttpRequest对象9
122HTTP对象模型12
123运行自制的AJAX框架14
124再谈文档对象模型19
125ASPNET中现有的AJAX
框架22
13ASPNET AJAX实践29
131搭建ASPNET AJAX Extensions
环境29
132核心组件30
14小结32
第2章Microsoft为AJAX提供的
客户端库33
21JavaScript语言扩展33
211扩展机制的基础结构34
212面向对象的扩展44
22核心组件49
221SysApplication对象50
222SysComponent对象52
223网络协议组件55
224用户界面组件57
225其他组件和功能61
23小结63
第二部分为网站增加AJAX功能
第3章ASPNET AJAX的核心66
31ASPNET AJAX 的配置67
311Webconfig文件67
312运行时引擎69
32脚本管理器组件71
321ASPNET ScriptManager控件71
322加载脚本75
323脚本错误处理81
33小结85
第4章局部页面更新86
41定义局部可更新区域86
411UpdatePanel控件概述87
412启用页面局部更新90
413检测正在执行中的更新操作95
414UpdatePanel控件的运行机制104
42控制可更新区域109
421触发面板更新109
422触发周期性的局部更新114
423在局部更新过程中提供用户
反馈116
424局部更新的客户端事件120
425在局部页面更新期间传递
数据项目126
426在局部更新期间让面板运用
动画效果131
43小结134
第5章AJAX Control Toolkit135
51扩展器控件135
511扩展器究竟是什么136
512ExtenderControl类138
513扩展器创建示例140
52AJAX Control Toolkit简介146
521安装Toolkit147
522AJAX Control Toolkit中的
各控件150
53Accordion控件152
531Accordion控件概述152
532使用Accordion控件154
54Rating控件155
541Rating控件概述156
542使用Rating控件158
55ReorderList控件159
551ReorderList控件概述159
552使用ReorderList控件161
56TabContainer控件163
561TabContainer控件概述164
562使用TabContainer控件165
57AJAX Control Toolkit 的扩展器166
571面板扩展器166
572Button扩展器170
573弹出式扩展器173
574用户界面扩展器178
575输入型扩展器186
576Animation扩展器199
58小结201
第三部分以客户端为中心的开发
第6章内建的应用程序服务204
61表单认证服务205
611身份认证服务的系统基础
架构205
612在应用程序中使用身份认证服务209
62用户个性化服务217
621用户个性化服务的系统
基础架构218
622在应用程序中使用用户个性化
服务221
63小结226
第7章ASPNET AJAX远程方法
调用227
71为远程调用设计的服务器API228
711定义远程API的契约229
712实现远程API的契约230
72通过Web服务进行远程调用232
721创建AJAX Web服务233
722使用AJAX Web服务236
723AJAX Web服务设计原则242
73通过页面方法实现远程调用245
731创建页面方法245
732使用页面方法247
74桥接外部的Web服务251
741传统的服务器对服务器方法251
742ASPNET AJAX Futures的
桥接文件252
75小结260
第8章用ASPNET创建AJAX应用
程序实例261
81AJAX深入解析262
811AJAX的优点262
812AJAX的缺点264
813模式、实践和服务266
82重访ASPNET Starter Kits270
821Jobs Site Starter Kit速览271
822减少页面抖动272
823定期刷新屏幕278
83小结287

教学资源推荐
作者: 秦维佳 侯春光 孟艳红 伞宏力
作者: Bjarne Stroustrup
作者: [美]布兰德利·N. 米勒(Bradley N. Miller) 大卫·L. 拉农(David L. Ranum) 朱莉·安德森(Julie Anderson) 著
参考读物推荐
作者: Bruce A.Tate
作者: (美)Cormac Hogan,Duncan Epping 著
作者: Kenneth L. Calvert ; Michael J. Donahoo