分享
 
 
 

ASP.NET AJAX编程参考手册(涵盖ASP.NET 3.5及2.0 )

ASP.NET AJAX编程参考手册(涵盖ASP.NET 3.5及2.0 )  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,.net,ASP.net,
  品牌: Shahran Khosravi

基本信息·出版社:清华大学出版社

·页码:1229 页

·出版日期:2009年

·ISBN:7302194823/9787302194828

·条形码:9787302194828

·包装版本:1版

·装帧:平装

·开本:16

·正文语种:中文

产品信息有问题吗?请帮我们更新产品信息。

内容简介《ASP.NET AJAX编程参考手册》以AJAX为核心阐述对象,介绍了它对JavaScript所做的各种扩展,还介绍了在ASP.NET环境下创建客户端应用所需的一些核心控件。通过大量的实例,《ASP.NET AJAX编程参考手册》详述了AJAX的内部机制,并且紧跟时代潮流,重点描述了如何依靠异步通信机制,更快、更好、更有效地实现客户端和服务器端之间的通信。

作者简介Shahram Khosravi,博士。他是一名资深的软件工程师、顾问、作家和讲师。在面向对象的分析、设计和编程方面有十多年的经验。讲授课程包括ASPNET、Web服务、.NET技术、XML技术、C#等。Shahr8m还撰写了多本关于ASP、NET的书,并在微软的MSDN存线文档以及Dr.Dobb’S Journal、asp.neetPRO等杂志上发表技术文章多篇。

译者简介:

刘志忠,博士,毕业于国防科技大学计算机科学与技术专业,现仟解放军理工大学指挥自动化学院教员。主要研究基于Web,E报务的分布式计算技术,精通.NET、Java、C++和VB等程序设计语言,对AJAX和HTML技术也有深入的了解,具有多年程序开发经验,曾参与973、863、国家自然科学基金等科研项目。业余时间以写文章,翻译图书为乐,译著包括《CSS基础教程》等。

编辑推荐《ASP.NET AJAX编程参考手册(涵盖ASP.NET 3.5及2.0)》将为您提供开发ASP.NET AJAX应用所必需的技能和知识。ASP.NET AJAX将ASP.NET/.NET Framework中的服务器端编程技术引入到客户端框架,从而带来了客户端编程的丰富特性。《ASP.NET AJAX编程参考手册(涵盖ASP.NET 3.5及2.0)》主要阐述ASP.NET AJAX是如何在客户端模拟这些丰富特性的。 《ASP.NET AJAX编程参考手册(涵盖ASP.NET 3.5及2.0)》通过大量实例、深入的描述以及代码分析,全面涵盖了ASP.NET AJAX服务器端和客户端框架。书中的所有代码都通过了ASP.NET 2.0和ASP.NET 3.5的测试。通过《ASP.NET AJAX编程参考手册(涵盖ASP.NET 3.5及2.0)》,您将学习到这些框架之间是如何进行协同以满足AJAx应用需求的。

目录

第1章 AJAX相关技术 1

1.1 GoogleSuggest 1

1.2 XMLHttpRequest 3

1.3 XML 13

1.4 JSON 17

1.4.1 对象 17

1.4.2 数组 17

1.4.3 字符串 17

1.4.4 数字 18

1.4.5 null、true和false 18

1.5 ASP.NETAJAX 21

1.6 安装ASP.NETAJAXExtensions和ASP.NETFutures 22

1.7 小结 22

第2章 JavaScript基本类型扩展 23

2.1 ASP.NETAJAXArray类型扩展 23

2.1.1 add 24

2.1.2 addRange 24

2.1.3 clear 25

2.1.4 clone 25

2.1.5 contains 26

2.1.6 enqueue和dequeue 26

2.1.7 forEach 28

2.1.8 indexOf 29

2.1.9 insert 30

2.1.10parse 30

2.1.1 1remove 31

2.1.1 2removeAt 31

2.2 ASP.NETAJAXBoolean类型扩展 32

2.3 ASP.NETAJAXDate类型扩展 32

2.4 ASP.NETAJAXObject类型扩展 33

2.5 ASP.NETAJAXString类型扩展 33

2.5.1 endsWith 33

2.5.2 startsWith 34

2.5.3 trim 34

2.5.4 格式化 35

2.6 ASP.NETAJAXError类型扩展 35

2.6.1 create 36

2.6.2 popStackFrame 38

2.6.3 popStackFrame的内部机理 41

2.7 小结 44

第3章 内置的和自定义异常类型 45

3.1 ASP.NETAJAX内置异常类型 45

3.1.1 ArgumentException 45

3.1.2 ArgumentNullException 47

3.1.3 ArgumentOutOfRangeException 49

3.1.4 ArgumentTypeException 51

3.1.5 ArgumentUndefinedException 53

3.1.6 InvalidOperationException 55

3.1.7 NotImplementedException 56

3.1.8 ParameterCountException 57

3.2 实现自定义异常类型 59

3.2.1 实现自定义异常类型的流程 59

3.2.2 使用流程 60

3.2.3 clickCallback 63

3.2.4 validateInput 64

3.3 小结 64

第4章 JavaScript面向对象编程和类型反射扩展 65

4.1 JavaScript函数 65

4.2 JavaScript类 66

4.3 Type 67

4.4 registerClass 68

4.5 getName 70

4.6 isClass 71

4.7 registerNamespace 72

4.8 isNamespace 74

4.9 registerInterface 75

4.10 getInterfaces 78

4.11 isInterface 80

4.12 继承 81

4.13 getBaseType 84

4.14 initializeBase 87

4.15 resolveInheritance 87

4.16 callBaseMethod 88

4.17 getBaseMethod 93

4.18 implementsInterface 96

4.19 inheritsFrom 100

4.20 isImplementedBy 102

4.21 getRootNamespaces 104

4.22 parse 106

4.23 registerEnum 108

4.24 isEnum 109

4.25 isFlags 110

4.26 小结 110

第5章 事件编程模型扩展 111

5.1 事件编程模型 111

5.1.1 Sys.EventArgs 112

5.1.2 Sys.CancelEventArgs 112

5.1.3 EventHandlerList 112

5.2 使用事件编程 116

5.2.1 基本类 117

5.2.2 事件 122

5.2.3 ShoppingCart 130

5.2.4 添加一个事件处理程序 134

5.2.5 移除一个事件处理程序 134

5.3 小结 135

第6章 DOM扩展 136

6.1 DomElement 136

6.1.1 getElementById 136

6.1.2 addCssClass 141

6.1.3 containsCssClass 141

6.1.4 removeCssClass 141

6.1.5 toggleCssClass 143

6.1.6 getLocation 144

6.1.7 setLocation 145

6.1.8 getBounds 147

6.2 MouseButton 148

6.3 Key 149

6.4 委托 149

6.4.1 Namespace 155

6.4.2 Mover 155

6.4.3 TextProvider 155

6.4.4 ImageProvider 156

6.5 DomEvent 156

6.5.1 构造函数 157

6.5.2 静态方法 159

6.5.3 实例方法 166

6.6 使用DomEvent类 170

6.6.1 Mover 176

6.6.2 TableProvider 180

6.7 小结 181

第7章 组件开发基础设施 182

7.1 接口 182

7.1.1 IDisposable 183

7.1.2 INotifyDisposing 186

7.1.3 INotifyPropertyChange 189

7.2 组件 194

7.3 IContainer 196

7.4 应用 197

7.4.1 addComponent 198

7.4.2 removeComponent 199

7.4.3 getComponents 199

7.4.4 findComponent 200

7.5 应用生命周期 201

7.6 组件生命周期 205

7.7 继续应用生命周期之旅 209

7.7.1 endCreateComponents 209

7.7.2 raiseLoad 211

7.7.3 应用生命周期小结 212

7.8 应用层事件 213

7.8.1 Init 213

7.8.2 load 214

7.8.3 unload 214

7.9 可丢弃对象 214

7.10 使用Application对象和Component基类 217

7.10.1 dispose 217

7.10.2 initialize 220

7.10.3 id 222

7.10.4 raisePropertyChanged 222

7.10.5 get_events 223

7.10.6 INotifyPropertyChange 224

7.10.7 INotifyDisposing 224

7.11 小结 230

第8章 开发客户端控件 231

8.1 Control 231

8.1.1 定义 231

8.1.2 get_element 232

8.1.3 get_id 233

8.1.4 set_id 233

8.1.5 set_parent 233

8.1.6 get_parent 234

8.1.7 get_visibilityMode 234

8.1.8 get_visible 235

8.1.9 set_visibilityMode 235

8.1.10set_visible 236

8.1.1 1addCssClass 236

8.1.1 2removeCssClass 236

8.1.1 3toggleCssClass 237

8.1.1 4dispose 237

8.1.1 5onBubbleEvent 237

8.1.1 6raiseBubbleEvent 238

8.2 开发自定义客户端控件 238

8.3 客户端Label控件 239

8.3.1 构造函数 239

8.3.2 htmlEncode 239

8.3.3 text 240

8.3.4 prototype 241

8.3.5 descriptor 241

8.4 使用Label客户端控件 242

8.5 客户端Image控件 244

8.5.1 构造函数 244

8.5.2 prototype 244

8.5.3 imageURL 245

8.5.4 width 245

8.5.5 height 246

8.5.6 alternateText 246

8.6 使用Image客户端控件 246

8.7 扩展客户端Image控件 248

8.7.1 构造函数 251

8.7.2 prototype 252

8.7.3 imageURL 252

8.7.4 mouseOverImageURL 253

8.7.5 mouseOverCallback 253

8.7.6 mouseOutCallback 254

8.7.7 Duration 254

8.7.8 transition 255

8.7.9 Transition枚举类型 255

8.7.10initialize 256

8.7.1 1dispose 256

8.8 使用客户端Image2控件 257

8.9 HyperLink客户端控件 259

8.9.1 构造函数 259

8.9.2 prototype 259

8.9.3 navigateURL 259

8.9.4 initialize 260

8.9.5 add_click 260

8.9.6 remove_click 261

8.9.7 _onClick 261

8.9.8 dispose 261

8.9.9 descriptor 262

8.10 使用HyperLink客户端控件 262

8.11 小结 264

第9章 事件冒泡机制及客户端Button控件 265

9.1 CommandEventArgs 265

9.2 客户端Button控件 266

9.2.1 构造函数 267

9.2.2 prototype属性 267

9.2.3 argument属性 267

9.2.4 command属性 268

9.2.5 initialize方法 268

9.2.6 add_click方法 269

9.2.7 _onClick 269

9.2.8 dispose 270

9.2.9 descriptor 270

9.3 使用客户端Button控件 271

9.3.1 捕获一个冒泡的事件 271

9.3.2 冒泡一个事件 276

9.4 小结 286

第10章 类型描述扩展 287

10.1 TypeDescriptor 287

10.1.1 构造函数 288

10.1.2 getTypeDescriptor 304

10.1.3 getProperty 308

10.1.4 getAttribute 310

10.1.5 setProperty 311

10.1.6 invokeMethod 315

10.1.7 getPropertyType 316

10.2 使用ASP.NETAJAX类型描述能力 317

10.2.1 StringBuilder 318

10.2.2 CustomTable 321

10.3 动态注入元数据信息 329

10.3.1 addProperty 329

10.3.2 addMethod 330

10.3.3 addEvent 331

10.3.4 addAttribute 332

10.4 ICustomTypeDescriptor 332

10.5 小结 334

第11章 数据类 335

11.1 IData 335

11.2 DataColumn 336

11.3 DataRow 339

11.3.1 构造函数 339

11.3.2 descriptor 340

11.3.3 ICustomTypeDescriptor 341

11.3.4 Owner 345

11.3.5 INotifyPropertyChange 346

11.4 DataTable 347

11.4.1 构造函数 347

11.4.2 IData 349

11.4.3 Descriptor 356

11.4.4 INotifyPropertyChange 357

11.4.5 InotifyCollectionChanged 359

11.4.6 createRow 362

11.4.7 getChanges 363

11.4.8 getColumn 364

11.4.9 raiseRowChanged 365

11.4.10parseFromJson 365

11.5 使用DataColumn、DataRow和DataTable 367

11.6 小结 376

第12章 客户-服务器通信 377

12.1 WebRequest 377

12.1.1 构造函数 377

12.1.2 目标URL 378

12.1.3 HTTP动作 378

12.1.4 请求体 378

12.1.5 超时 379

12.1.6 Web请求执行器 379

12.1.7 请求头 380

12.1.8 completed事件 380

12.1.9 调用一个Web请求 381

12.2 WebRequestExecutor 382

12.2.1 构造函数 382

12.2.2 WebRequest 382

12.2.3 get_started 383

12.2.4 get_responseAvailable 383

12.2.5 get_timedOut 383

12.2.6 get_aborted 384

12.2.7 get_responseData 384

12.2.8 get_statusCode 384

12.2.9 get_statusText 384

12.2.10get_xml 384

12.2.1 1get_object 385

12.2.1 2executeRequest 385

12.2.1 3abort 385

12.2.1 4getResponseHeader 385

12.2.1 5getAllResponseHeaders 386

12.3 WebRequestManager 386

12.3.1 构造函数 386

12.3.2 默认超时 387

12.3.3 默认执行器类型 387

12.3.4 事件 387

12.3.5 执行一个Web请求 389

12.3.6 NetworkRequestEventArgs 390

12.4 XMLHttpRequest 391

12.5 XMLDOM 391

12.6 XMLHttpExecutor 392

12.6.1 构造函数 392

12.6.2 get_timedOut 395

12.6.3 get_started 395

12.6.4 get_responseAvailable 395

12.6.5 get_aborted 396

12.6.6 执行请求 396

12.6.7 getResponseHeader 398

12.6.8 getAllResponseHeaders 399

12.6.9 get_responseData 399

12.6.10get_statusCode 400

12.6.1 1get_statusText 400

12.6.1 2get_xml 400

12.6.1 3abort 401

12.7 使用WebRequest、WebRequestManager和XMLHttpExecutor 40212.8 小结 422

第13章 通过SOAP消息使用Web服务 423

13.1 构建Web服务 423

13.2 WSDL文档 424

13.2.1 参数的名称、类型和顺序 426

13.2.2 返回值的类型和顺序 426

13.2.3 方法描述 427

13.2.4 描述访问方法的通信协议 427

13.2.5 指定访问方法的站点 428

13.2.6 指定方法类 429

13.3 SOAP消息 429

13.4 小结 441

第14章 通过JSON消息使用Web服务 442

14.1 WebServiceProxy 442

14.1.1 Timeout 442

14.1.2 默认成功回调函数 442

14.1.3 默认失败回调函数 443

14.1.4 路径 443

14.1.5 调用一个Web方法 443

14.2 使用WebServiceProxy 454

14.3 WebServiceError 457

14.4 使用WebServiceError 460

14.5 调用页面方法 464

14.6 调用自定义方法 466

14.7 底层机制 472

14.7.1 ScriptHandlerFactory 472

14.7.2 RestHandlerFactory 476

14.7.3 RestHandler 478

14.7.4 HandlerWrapper 483

14.7.5 页面方法揭秘 484

14.7.6 Web服务桥揭秘 489

14.7.7 使用这些复制品 492

14.8 小结 494

第15章 代理类 495

15.1 什么是代理? 495

15.2 代理类 497

15.2.1 和Web服务相关的代理类 497

15.2.2 和页面方法相关的代理类 502

15.2.3 和自定义类相关的代理类 504

15.3 自动代理类生成 504

15.3.1 声明式方法 505

15.3.2 命令式方法 513

15.3.3 父/子页面 516

15.4 底层机制 518

15.4.1 ScriptManager 518

15.4.2 ServiceReference 522

15.4.3 ClientProxyGenerator 524

15.4.4 RestClientProxyHandler 540

15.5 使用这些复制品 541

15.6 小结 548

第16章 行为 549

16.1 什么是行为? 549

16.2 Behavior类 550

16.2.1 Properties 556

16.2.2 实例方法 559

16.2.3 静态方法 561

16.3 ClickBehavior 562

16.3.1 descriptor 563

16.3.2 click事件 563

16.3.3 initialize 564

16.3.4 使用ClickBehavior 564

16.4 ASP.NETAJAX控件工具箱 566

16.4.1 BehaviorBase 566

16.4.2 TextBoxWatermarkBehavior 571

16.5 小结 588

第17章 服务器端script控件和extender控件 589

17.1 为什么需要服务器端script和extender控件 589

17.2 服务器extender控件 590

17.2.1 IExtenderControl 591

17.2.2 ExtenderControl 591

17.3 服务器script控件 594

17.3.1 IScriptControl 594

17.3.2 ScriptControl 595

17.4 ScriptDescriptor 597

17.4.1 ScriptComponentDescriptor 598

17.4.2 ScriptControlDescriptor 609

17.4.3 ScriptBehaviorDescriptor 610

17.5 ScriptReference 611

17.6 ScriptReferenceCollection 612

17.7 ScriptManager 613

17.7.1 Scripts 618

17.7.2 LoadScriptsBeforeUI 618

17.7.3 ScriptControls 618

17.7.4 RegisterScriptControl 618

17.7.5 ExtenderControls 618

17.7.6 RegisterExtenderControl 619

17.7.7 GetCurrent 619

17.7.8 OnInit 619

17.7.9 Page_PreRenderComplete 619

17.7.10CollectScripts 620

17.7.1 1AddScriptReferencesFor-ScriptControls 621

17.7.1 2针对extender控件的RegisterScriptDescriptors 622

17.8 ResolveScriptReference事件 623

17.9 将所有综合在一起 625

17.10开发一个自定义的服务器端extender控件 626

17.10.1 WatermarkText 630

17.10.2 WatermarkCssClass 630

17.10.3 ClientState 631

17.10.4 ClientStateFieldID 631

17.10.5 CreateClientStateField 631

17.10.6 BehaviorID 631

17.10.7 GetScriptReferences 631

17.10.8 GetScriptDescriptors 631

17.10.9 OnInit 633

17.10.10Page_PreLoad 633

17.10.1 1OnLoad 634

17.10.1 2OnPreRender 635

17.10.1 3Render 636

17.10.1 4使用服务器端extender控件 637

17.1 1开发一个script控件 638

17.1 1.1 PreRender 641

17.1 1.2 Render 642

17.1 1.3 使用服务器端script控件 642

17.1 2服务器端script控件与服务器端extender控件 643

17.1 3小结 643

第18章 Web服务桥和转换器 644

18.1 AmazonWeb服务 644

18.2 开发支持Web服务桥的服务器端script控件 650

18.2.1 AspNetAjaxAmazonSearch 651

18.2.2 AmazonSearchScriptControl 658

18.2.3 HtmlGenerator 665

18.2.4 HtmlGeneratorScriptControl 669

18.2.5 使用这些组件 676

18.3 转换器 678

18.4 使用转换器 687

18.4.1 XmlBridgeTransformer 687

18.4.2 XsltBridgeTransformer 707

18.5 小结 714

第19章 UpdatePanel和ScriptManager 715

19.1 让异步的局部页面更新成为可能 715

19.2 条件更新 717

19.2.1 子元素作为触发器 719

19.2.2 一个UpdatePanel包含在另一个UpdatePanel内 720

19.2.3 使用触发器 729

19.2.4 命令式更新 731

19.3 开发支持局部更新的自定义组合服务器控件 733

19.3.1 BaseMasterDetailControl 734

19.3.2 BaseMasterDetailControl2 753

19.4 小结 756

第20章 在用户控件和自定义控件中使用UpdatePanel 757

20.1 MasterDetailControl 757

20.1.1 CreateBaseDataBoundControl-Master 759

20.1.2 RegisterMasterEventHandlers 759

20.1.3 属性 761

20.2 在Web页面中使用MasterDetailControl 761

20.3 MasterDetailControl2 765

20.3.1 CreateBaseDataBoundControl-Master 767

20.3.2 RegisterMasterEventHandlers 767

20.3.3 Master_SelectedIndexChanged 767

20.3.4 Master_DataBound 767

20.3.5 属性 768

20.4 使用MasterDetailControl2 768

20.5 MasterDetailControl3 770

20.6 使用MasterDetailControl3 771

20.7 MasterDetailControl4 773

20.8 开发支持局部页面更新的数据控件域 773

20.8.1 扩展BoundField 774

20.8.2 覆盖InitializeDataCell 778

20.8.3 处理DataBound事件 779

20.8.4 从单元格中抽取值 780

20.8.5 外观属性 780

20.8.6 使用MasterDetailField 780

20.9 开发支持局部呈现的用户控件 784

20.9.1 显示所有消息 794

20.9.2 显示某消息的细节 795

20.9.3 删除一条消息 796

20.9.4 更新一条消息 797

20.9.5 回复一个消息 797

20.9.6 开始一个新线索 798

20.10小结 800

第21章页面生命周期和异步的局部页面呈现 801

21.1 处理一个请求 801

21.2 Page生命周期 804

21.3 第一次访问支持局部页面呈现的Web页面 806

21.4 InitRecursive 806

21.4.1 ScriptManager的OnInit方法 807

21.4.2 UpdatePanel的OnInit方法 814

21.4.3 模板化控件 819

21.5 LoadRecursive 826

21.6 Rendering 847

21.6.1 ScriptManager的Render方法 848

21.6.2 UpdatePanel的Render方法 853

21.7 小结 855

第22章 ASP.NETAJAX客户端PageRequest Manager 857

22.1 实例化和初始化客户端PageRequest Manager 858

22.1.1 客户端PageRequest Manager的getInstance方法 859

22.1.2 客户端PageRequest Manager类的构造函数 860

22.1.3 客户端PageRequestManager的_initializeInternal方法 862

22.1.4 _updateControls 867

22.1.5 客户端PageRequest Manager的_pageLoadedInitialLoad方法 871

22.1.6 客户端PageRequestManager的_pageLoaded方法 871

22.2 pageLoaded事件 873

22.3 生成一个异步页面回传 889

22.3.1 辅助方法 889

22.3.2 _doPostBack 894

22.3.3 _onFormSubmit 898

22.4 initializeRequest事件 906

22.5 beginRequest事件 913

22.6 小结 918

第23章 异步局部页面呈现:服务器端处理 919

23.1 RetrievePostData 919

23.2 LoadScrollPosition 922

23.3 InitRecursive 924

23.3.1 PageRequestManager的IsAsync Post Back Request方法 924

23.3.2 PageRequestManager的OnInit方法 925

23.4 LoadPostData生命周期阶段 925

23.4.1 UpdatePanel 929

23.4.2 ScriptManager 929

23.4.3 PageRequestManager的LoadPostData方法 930

23.5 RaisePostDataChangedEvent生命周期阶段 932

23.6 PreRender生命周期阶段 933

23.7 Rendering生命周期阶段 934

23.7.1 PageRequestManager的编码方法 935

23.7.2 PageRequestManager的RenderPageCallback方法 936

23.8 服务器响应 969

23.9 小结 981

第24章 异步局部页面呈现:客户端处理 982

24.1 服务器响应文本的到达 982

24.2 PageRequestManager的_updatePanel方法 1005

24.3 PageRequestManager的registerDisposeScript方法 1006

24.4 _destroyTree方法 1007

24.5 _ScriptLoader类 1008

24.5.1 readLoadedScripts 1008

24.5.2 getInstance方法 1009

24.5.3 queueScriptBlock方法 1009

24.5.4 queueCustomScriptTag方法 1009

24.5.5 isScriptLoaded方法 1010

24.5.6 _getLoadedScript方法 1010

24.5.7 queueScriptReference方法 1010

24.5.8 loadScripts方法 1011

24.5.9 _loadScriptsInternal方法 1012

24.5.10 _createScriptElement方法 1014

24.5.11 _ScriptLoader类的构造函数 1014

24.5.12 _scriptLoaderHandler方法 1014

24.6 _ScriptLoaderTask类 1015

24.6.1 _ScriptLoaderTask类的构造函数 1015

24.6.2 execute方法 1016

24.6.3 _scriptLoadHandler方法 1017

24.7 _scriptsLoadComplete方法 1017

24.8 _endPostBack方法 1020

24.9 pageLoading事件 1025

24.10 pageLoaded事件 1043

24.11 endRequest事件 1045

24.12 小结 1061

附录A XML脚本 1062

附录B 绑定 1104

附录C 动作 1116

附录D 数据控件 1129

附录E 模板化控件 1150

附录F ListView 1173

……[看更多目录]

序言欢迎使用本书。ASP.NET AJAX框架包括两个框架:ASP.NET AJAX客户端框架和ASP.NET AJAX服务器端框架。

大家都知道,客户端编程和服务器端编程存在很大的差别。产生差别的主要原因是由于客户端编程缺乏像ASP.NET/.NET Framework一样功能丰富的编程框架。如果能够在一个具有像ASP.NET/.NET框架一样编程风格和能力的框架下编写您的客户端程序,那一定会得到不错的体验。使用ASP.NET AJAX客户端框架吧!它使得在客户端编程具有尽可能多的和ASP.NET/.NET一样丰富的编程特点。这些能力仅受限于客户端技术的基础限制,如JavaScript的限制。

ASP.NET AJAX服务器端框架扩展了ASP.NET框架,从而使得服务器端能够支持那些支持AJAX的Web应用。ASP.NET AJAX客户端框架和服务器端框架一同携手,来满足支持AJAX应用的客户端和服务器的需求。也就是说,ASP.NET AJAX客户端技术可以和其他服务器端技术一起使用而不仅仅是ASP.NET框架。

本书使用独特的方法深入分析了ASP.NET AJAX客户端和服务器端框架,该方法具有以下特征。

● 实用真实示例:本书的讨论将基于大量的实际示例展开,这些示例都可以在您自己的ASP.NET AJAX应用中使用。

● 底层机制分析:本书将深入分析ASP.NET AJAX客户端和服务端框架的底层机制,从而使您可以深入了解它们的工作原理,并对其进行扩展以满足您的应用需求。

● 代码逐行分析:本书使用了大量的代码逐行分析,使得您可以在自己的ASP.NET AJAX应用中实现一些类似的功能。

本书读者对象

本书主要针对初次学习ASP.NET AJAX的ASP.NET开发人员。学习本书,并不需要具备ASP.NET AJAX的预备知识。

本书主要内容

本书共包括24章和6个附录,分别如下:

● 第1章 AJAX相关技术 本章通过示例对在支持AJAX的Web应用中所使用的一些主要技术进行一个简单综述,包括XMLHttpRequest、XML及JSON等。

● 第2章 JavaScript基本类型扩展 本章主要给出了JavaScript的基本类型扩展。在其中,您将了解到这些扩展类型如何改进了JavaScript的基本类型,包括 Array、Boolean、Date、Error、Object及String,并让您尽可能地像在.NET框架中一样应用这些类型。

● 第3章 内置的和自定义异常类型 本章首先深入介绍了ASP.NET AJAX的一些内置的异常类型,包括ArgumentException、ArgumentNullException、ArgumentOutOfRangeException、ArgumentTypeException、ArgumentUndefinedException、InvalidOperationException、NotImplementedException及ParameterCountException,然后介绍了一种开发自定义异常类型的方法,使用该方法实现了一个异常DuplicateItemException,然后通过一个页面来使用这个自定义的异常类型。

● 第4章 JavaScript面向对象编程和类型反射扩展 本章首先对ASP.NET AJAX面向对象编程(OOP)和类型反射扩展机制中一些在底层使用的JavaScript技术进行研究。这些技术使得JavaScript具有OOP属性并支持类型反射扩展。然后本章详细分析了Type类型及其方法。在此,您可以通过学习大量的实例来了解如何定义名称空间、接口、类及枚举类型,如何实现一个实现了一个或多个接口的类,以及如何实现一个从其他类派生出来的类。

● 第5章 事件编程模型扩展 本章将循序渐进地为您介绍一种实现自定义ASP.NET客户端类,并为其添加事件的方法,从而使得类的使用者能够扩展它们的功能来执行与应用相关的逻辑。然后提供了一个具体实例来使用这种方法。本章还讨论了EventArgs、CancelEventArgs和EventHandlerList等几个类及其方法和属性。

● 第6章 DOM扩展 本章主要解释了ASP.NET AJAX DOM扩展如何扩展传统的DOM编程技术,从而使其支持.NET的方法和属性,以及如何在自己的DOM编程中使用这些扩展。本章主要介绍ASP.NET AJAX委托、DomElement和DomEvent客户端类及其方法和属性。

● 第7章 组件开发基础设施 本章主要介绍ASP.NET AJAX组件开发的基础设施及其主要接口,包括IDisposable、INotifyDisposing、INotifyPropertyChanged和IContainer以及两个重要的类Component和Application。此外,您还可以通过大量的实例学习到如何实现这些接口以及如何实现一个从Component基类派生出来的自定义组件。本章还包括组件的应用、组件的生命周期以及应用级事件等。

● 第8章 开发客户端控件 本章描述了Control、Label、Image及HyperLink等客户端控件及其方法和属性,并给出了使用这些自定义控件的相应示例。还给出并讨论了一个自定义Image控件的实现。该控件扩展了ASP.NET AJAX客户端Image控件的功能。

● 第9章 事件冒泡机制及客户端Button控件 本章首先介绍CommandEventArgs事件数据类和客户端Button控件。然后讨论了ASP.NET AJAX 事件冒泡机制,并讨论了如何实现一个自定义的控件,使其事件冒泡给它的父控件,以及如何实现一个自定义控件来捕获它的子控件所冒泡的事件。本章还实现了一个自定义的客户端控件GridView,该控件使用了ASP.NET AJAX的事件冒泡机制。

● 第10章 类型描述扩展 本章详细介绍了TypeDescriptor类和ICustomTypeDescriptor接口。基于此,您将了解到ASP.NET类型描述能力为您的应用所带来的好处:它使得您的客户端代码可以独立于客户端代码所处理的特定的对象类型。这将使得用户代码可以不经过修改而与不同的对象类型进行交互。本章实现了3个Web页面,在这些页面中您可以检测任何ASP.NET AJAX类型的属性、事件和方法。还实现一个自定义的客户端控件CustomTable。该控件使用ASP.NET AJAX类型描述能力来显示任意类型的数据记录。最后,本章介绍了动态注入元数据信息的方法。

● 第11章 数据类 本章首先讨论了IData接口,然后深入介绍了ASP.NET AJAX的数据类DataColumn、DataRow 和DataTable。还实现一个自定义控件。该控件实现了IData接口并可以显示任何数据源(如DataTable)的数据。

● 第12章 客户-服务器通信 本章主要涉及到ASP.NET AJAX 框架客户-服务器通信层及其主要的类,详细讨论了WebRequest、WebRequestExecutor、WebRequestManager、 NetworkRequestEventArgs 和XMLHttpExecutor,并结合一些实例来讨论如何在您自己的ASP.NET AJAX 应用中使用这些类。

● 第13章 通过SOAP消息使用Web服务 本章首先详细讨论了WSDL文档和SOAP消息,然后结合一个实例给出了使用ASP.NET AJAX框架的客户/服务器通信层的类来和Web服务交互SOAP消息的方法。

● 第14章 通过JSON消息使用Web服务 本章深入讨论了 WebServiceProxy和WebServiceError类,并给了3种不同的途径来实现客户端调用服务器端的方法:调用页面方法、Web服务方法及Web服务桥。还详细分析了.asbx文件,给出并实现了ASP.NET AJAX REST方法调用-请求-处理基础设施的主要组件,包括ScriptHandlerFactory、RestHandlerFactory、RestHandler、HandlerWrapper 和ScriptModule类,并实现了一个实例来使用这些方法。本章还使用这些方法分析了页面方法调用和Web服务桥。

● 第15章 代理类 本章详细介绍了与页面方法、Web服务桥及Web服务方法相关的代理类。接着,本章还讨论了服务器端ScriptManager和ScriptManagerProxy控件,以及服务器端ScriptManagerProxy控件在父/子页面方案中的作用。然后还实现了ASP.NET AJAX 自动代理-类-产生器基础设施主要组件的完整功能流程,包括ScriptManager、ServiceReferenceCollection、ServiceReference、ClientProxyGenerator 和 RestClientProxy- Handler。您可以看到在应用中该基础设施如何产生与页面方法、Web服务桥、Web服务方法相关的代理类。最后本章给出了一个使用这些方法的实例。

● 第16章 行为 本章详细介绍了Behavior 基类及其方法和属性,并介绍了如何从该基类派生出新的类来实现自定义的行为。然后讨论了ASP.NET AJAX 控件工具包中的行为基类BehaviorBase,并讨论了如何从BehaviorBase类派生新的类来实现自定义的工具包行为。

● 第17章 服务器端script控件和extender控件 本章深入介绍了ASP.NET AJAX 服务器端框架主要组件的完整功能流程,该流程涉及两类重要服务器端控件的内部功能,即script控件和extender控件。分析这两类控件有助于您理解服务器端控件如何和相应的客户端组件进行交互,它们之间的异同以及如何实现自定义的script控件和extender控件。本章所实现的ASP.NET AJAX服务器端框架的组件包括:IExtenderControl 、ExtenderControl、IScriptControl、ScriptControl、ScriptDescriptor、ScriptComponent- Descriptor 、ScriptBehaviorDescriptor、ScriptControlDescriptor、ScriptReference、ResolveScript- Reference、ScriptReferenceCollection 和ScriptManager。本章最后实现了自定义的服务器端script控件和extender控件,从而使得您可以开发自己的服务器端script控件和extender控件。

● 第18章 Web服务桥与转换器 本章首先给出了一个使用Amazon Web服务的、支持Web服务桥的服务器端script控件,然后详细讨论了ASP.NET AJAX 转换器,包括XmlBridgeTransformer和XsltBridgeTransformer。接着,本章使用这些转换器改进了支持Web服务桥的服务端script控件。还介绍了如何实现自定义的转换器。

● 第19章 UpdatePanel和ScriptManager 本章使用了大量实例来学习如何实现异步局部页面呈现,如何实现触发器以及通过多种不同的方法来实现有条件地更新服务器端UpdatePanel控件,包括:指定ChildrenAsTrigger属性,直接将控件添加到其他服务器端UpdatePanel控件,通过内容网页间接将控件添加到其他服务器端UpdatePanel控件,通过用户控件间接将控件添加到其他服务器端UpdatePanel控件,以及在代码中显式调用它的Update方法。最后,本章实现了两个自定义的、支持局部页面呈现的服务器端控件BaseMasterDetailControl和BaseMasterDetailControl2。

文摘插图:

ASP.NET AJAX编程参考手册(涵盖ASP.NET 3.5及2.0 )

第1章 AJAX相关技术

传统的Web页面技术使用服务器端技术和资源来操作其页面与服务,并将其发送给它们的终端用户。传统Web页面要求终端用户将整个页面回传给服务器,这些页面在服务器上可以运行需要的服务器端代码以向用户传送请求的服务和页面。换句话说,传统Web页面使用了click.and.wait这种对用户不友好的交互方式。该方式需要用户等待一定的时间,从而打断了用户的工作流,因此,降低了用户的体验。click.and-wait用户交互模式使得传统的Web应用的表现和用户体验与相应的桌面应用相差甚远。

AJAX(Asynchronous Java ScriptAnd XML)是目前流行的一种w曲应用开发方法,该方法使用HTML、XHTML、CSS、DOM、XML、XSLT和JavaScript等客户端技术,以及XMLHTTP请求和隐藏框架技术之类的异步客户端回调技术来开发更高级的、响应更快速的Web应用。这些应用将打破click-and-wait交互模式,使用起来很像桌面应用。换句话说,AJAX拉近了Web应用和相应的桌面应用之间的差距。

本章将首先用一些具体示例来讨论支持AJAX的Web页面的主要特性。

1.1 Google Suggest

Google SuggestWeb页面(www.google.com/webhp?complete=1)包含一个支持AJAX的搜索框。当您输入搜索项时,该搜索框能实现补全搜索项的功能,如图1-1所示。在后台,这个支持AJAX的搜索框使用AJAX技术异步地从Web服务器上下载需要的数据,并将其显示给终端用户,但并不打断用户和页面的交互。所有这些客户和服务器间的通信都在用户在搜索框中输入搜索项时由后台进行处理。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有