《ASP.NET 4高级程序设计 第4版》PDF下载

  • 购买积分:28 如何计算积分?
  • 作  者:(美)麦克唐纳(MacDonald,M·),(美)弗里曼 (Freeman,A·),(美)兹普兹塔(Szpuszta,M·)著;博思工作室译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2011
  • ISBN:9787115253293
  • 页数:1146 页
图书介绍:本书是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET 4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。另外,还专门介绍了ASP.NET 4新增的功能,如MVC和动态数据等。

第一部分 核心概念 2

第1章ASP.NET简介 2

1.1 ASRNET的7大要点 2

1.1.1要点1:ASP.NET是同.NET Framework集成在一起的 2

1.1.2要点2:ASP.NET是编译执行的,而不是解释执行的 3

1.1.3要点3:ASP.NET支持多语言 4

1.1.4要点4:ASP.NET运行在公共语言运行库内 6

1.1.5要点5:ASP.NET是面向对象的 7

1.1.6要点6:ASP.NET支持所有的浏览器 8

1.1.7要点7:ASP.NET易于部署和配置 8

1.2 ASRNET的演变 9

1.2.1 ASP.NET 1.0和ASP.NET1.1 9

1.2.2 ASP.NET 2.0 9

1.2.3 ASP.NET 3.5 10

1.2.4 ASP.NET 4 12

1.2.5 Silverlight 14

1.3总结 15

第2章Visual Studio 16

2.1 Visual Studio 16

2.1.1网站和Web项目 17

2.1.2创建无项目文件的网站 18

2.1.3设计网页 21

2.2 Visual StudiolDE 26

2.2.1解决方案资源管理器 28

2.2.2文档窗口 29

2.2.3工具箱 29

2.2.4错误列表和任务列表 30

2.2.5服务器资源管理器 31

2.3代码编辑器 32

2.3.1添加程序集引用 33

2.3.2智能感知和大纲显示 35

2.3.3 Visual Studio 2010改进 37

2.4编码模型 42

2.4.1代码隐藏文件如何与页面连接 44

2.4.2控件标签如何与页面变量连接 44

2.4.3事件如何与事件处理程序连接 46

2.5 Web项目 47

2.5.1基于项目的开发 47

2.5.2创建Web项目 48

2.5.3迁移旧版Visual Studio创建的网站 49

2.6 Visual Studio调试 51

2.6.1单步调试 52

2.6.2变量监视 54

2.6.3高级断点 55

2.7 Web Development Helper 56

2.8总结 57

第3章Web窗体 58

3.1页面处理 58

3.1.1 HTML表单 59

3.1.2动态用户界面 60

3.1.3 ASP.NET事件模型 61

3.1.4自动回送 62

3.1.5视图状态 63

3.1.6 XHTML兼容性 66

3.1.7客户端控件ID 71

3.2 Web窗体处理阶段 73

3.2.1页面框架初始化 74

3.2.2用户代码初始化 74

3.2.3验证 74

3.2.4事件处理 75

3.2.5自动数据绑定 75

3.2.6清除 76

3.2.7页面流示例 76

3.3作为控件容器的页面 78

3.3.1显示控件树 78

3.3.2页头 82

3.3.3动态控件的创建 82

3.4 Page类 84

3.4.1 Session、 Application和Cache 84

3.4.2 Request 85

3.4.3 Response 86

3.4.4 Server 88

3.4.5 User 90

3.4.6Trace 91

3.4.7访问其他类中的HTTP上下文 96

3.5总结 96

第4章 服务器控件 97

4.1服务器控件的类型 97

4.2 HTML服务器控件 99

4.2.1 HtmlControl类 100

4.2.2 HtmlContainerControl类 100

4.2.3HtmlInputControl类 100

4.2.4 HTML服务器控件类 101

4.2.5设置Style特性和其他属性 102

4.2.6通过编程创建服务器控件 103

4.2.7处理服务器端事件 104

4.3 Web控件 107

4.3.1 WebControl基类 107

4.3.2基本的Web控件类 108

4.3.3单位 109

4.3.4枚举 110

4.3.5颜色 110

4.3.6字体 111

4.3.7焦点 112

4.3.8默认按钮 113

4.3.9可滚动面板 114

4.3.10处理Web控件事件 114

4.4 List控件 116

4.4.1 Selectable列表控件 117

4.4.2 BulletedList控件 120

4.5输入验证控件 121

4.5.1验证控件 121

4.5.2验证流程 122

4.5.3 BaseValidator类 122

4.5.4 RequiredFieldValidator控件 124

4.5.5 RangeValidator控件 124

4.5.6 CompareValidator控件 125

4.5.7 RegularExpressionValidator控件 125

4.5.8 CustomValidator控件 127

4.5.9 ValidationSummary控件 128

4.5.10通过编程使用验证器 129

4.5.11验证组 130

4.6富控件 132

4.6.1 AdRotator控件 132

4.6.2 Calendar控件 134

4.7总结 136

第5章ASRNET应用程序 137

5.1剖析ASPNET应用程序 137

5.1.1应用程序域 137

5.1.2应用程序生命周期 138

5.1.3应用程序更新 139

5.1.4应用程序目录结构 139

5.2 global.asax应用程序文件 140

5.2.1应用程序事件 141

5.2.2演示应用程序事件 143

5.3 ASP.NET配置 144

5.3.1 machine.config文件 144

5.3.2 web.config文件 147

5.3.3 <system.web>设置 150

5.3.4 <system.webServer> 150

5.3.5 <appSettings> 150

5.3.6 <connectionStrings> 152

5.3.7通过编程读写配置节 152

5.3.8网站管理工具(WAT) 155

5.3.9扩展配置文件结构 156

5.3.10加密配置节 159

5.4 .NET组件 161

5.4.1创建组件 161

5.4.2通过App_Code目录使用组件 162

5.4.3通过 Bin目录使用组件 163

5.5扩展HTTP管道 165

5.5.1 HTTP处理程序 165

5.5.2创建自定义的HTTP处理程序 167

5.5.3配置自定义的HTTP处理程序 168

5.5.4使用无须配置的HTTP处理程序 169

5.5.5创建高级的HTTP处理程序 169

5.5.6为非HTML内容创建HTTP处理程序 171

5.5.7 HTTP模块 173

5.5.8创建自定义HTTP模块 174

5.6总结 176

第6章 状态管理 177

6.1 ASPNET状态管理 177

6.2视图状态 179

6.2.1视图状态示例 180

6.2.2在视图状态中保存对象 181

6.2.3视图状态评估 183

6.2.4有选择地禁用视图状态 184

6.2.5视图状态安全 185

6.3在页面间传送信息 186

6.3.1查询字符串 187

6.3.2跨页回发 188

6.4 cookie 193

6.5会话状态 194

6.5.1会话架构 194

6.5.2使用会话状态 196

6.5.3配置会话状态 197

6.5.4会话状态安全 202

6.6应用程序状态 203

6.7总结 206

第二部分 数据访问 208

第7章ADONET基础 208

7.1 ADONET架构 209

7.1.1 ADONET数据提供程序 209

7.1.2 ADONET的标准化 210

7.1.3基本ADONET类 211

7.2 Connection类 212

7.2.1连接字符串 212

7.2.2测试连接 214

7.2.3连接池 215

7.3 Command类和DataReader类 217

7.3.1 Command基础 217

7.3.2 DataReader类 218

7.3.3 ExecuteReader()方法和DataReader 218

7.3.4 ExecuteScalar()方法 223

7.3.5 ExecuteNonQuery()方法 223

7.3.6 SQL注入攻击 224

7.3.7使用参数化命令 226

7.3.8调用存储过程 227

7.4事务 229

7.4.1事务和ASPNET应用程序 230

7.4.2隔离级别 234

7.4.3保存点 235

7.5提供程序无关的代码 235

7.5.1创建工厂 236

7.5.2用工厂创建对象 237

7.5.3使用提供程序无关的代码的查询 237

7.6总结 239

第8章 数据组件和DataSet 240

8.1构建数据访问组件 240

8.1.1数据包 241

8.1.2存储过程 242

8.1.3数据应用类 243

8.1.4测试数据库组件 248

8.2非连接的数据 249

8.2.1 Web应用程序和DataSet 250

8.2.2 XML集成 251

8.3 DataSet类 251

8.4 DataAdapter类 252

8.4.1填充DataSet 253

8.4.2使用多个表和关系 254

8.4.3查找特定行 257

8.4.4在数据访问类里使用DataSet 257

8.4.5数据绑定 258

8.5 DataView类 259

8.5.1使用DataView排序 259

8.5.2使用DataView过滤 261

8.5.3使用关系的高级过滤 262

8.5.4计算列 263

8.6总结 264

第9章 数据绑定 265

9.1基本的数据绑定 265

9.1.1单值绑定 266

9.1.2其他类型的表达式 268

9.1.3重复值绑定 271

9.2数据源控件 277

9.3 SqlDataSource 278

9.3.1选择记录 279

9.3.2参数化命令 281

9.3.3错误处理 285

9.3.4更新记录 286

9.3.5删除记录 289

9.3.6插入记录 289

9.3.7 SqlDataSource的不足 290

9.4 ObjectDataSource 291

9.4.1选择记录 291

9.4.2更新记录 295

9.4.3使用数据对象执行更新 296

9.5数据源控件的限制 299

9.5.1问题 299

9.5.2添加其他项 300

9.5.3使用SqlDataSource处理其他选项 301

9.5.4使用ObjectDataSource处理其他选项 301

9.6总结 302

第10章 富数据控件 303

10.1 GridView 303

10.2格式化GridView 307

10.2.1格式化字段 307

10.2.2样式 308

10.2.3格式化特定值 311

10.3 GridView行选择 313

10.3.1使用选择来创建主—从表单 314

10.3.2 SelectedIndexChanged事件 315

10.3.3将数据字段用作选择按钮 315

10.4对GridView排序 316

10.4.1使用SqlDataSource排序 317

10.4.2使用ObjectDataSource排序 318

10.4.3排序和选择 319

10.4.4高级排序 319

10.5 GridView分页 320

10.5.1自动分页 320

10.5.2分页和选择 322

10.5.3 ObjectDataSource的自定义分页 322

10.5.4定制分页栏 324

10.6 GridView模板 325

10.6.1使用多个模板 327

10.6.2在Visual Studio中编辑模板 328

10.6.3绑定到方法 328

10.6.4处理模板中的事件 330

10.6.5使用模板编辑 330

10.6.6模板中的客户端 335

10.7 ListView 336

10.7.1分组 338

10.7.2分页 340

10.8 DetailsView和FormView 341

10.8.1 DetailsView 341

10.8.2 FormView 344

10.9高级网格 345

10.9.1 GridView中的汇总 345

10.9.2单个表中的父/子视图 347

10.9.3使用查找表编辑字段 349

10.9.4处理来自数据库的图片 351

10.9.5探测并发冲突 355

10.10总结 359

第11章 缓存和异步页面 360

11.1理解ASENET缓存 360

11.2输出缓存 361

11.2.1声明性的输出缓存 361

11.2.2缓存和查询字符串 362

11.2.3使用特定查询字符串参数的缓存 363

11.2.4自定义缓存控制 364

11.2.5使用HttpCachePolicy类进行缓存 365

11.2.6缓存后替换和部分页缓存 365

11.2.7缓存用户配置 367

11.2.8缓存配置 368

11.2.9输出缓存扩展 369

11.3数据缓存 373

11.3.1向缓存添加项目 373

11.3.2简单的缓存测试 375

11.3.3缓存优先级 376

11.3.4使用数据源控件的缓存 376

11.4缓存依赖 379

11.4.1文件和缓存项目依赖 379

11.4.2聚合依赖 380

11.4.3移除项目回调 381

11.4.4理解SQL缓存通知 383

11.4.5缓存通知的工作方式 384

11.4.6启用通知 384

11.4.7创建缓存依赖 385

11.5自定义缓存依赖 386

11.5.1基本的自定义缓存依赖 386

11.5.2使用消息队列的自定义缓存依赖 387

11.6异步页面 389

11.6.1创建异步页面 390

11.6.2在异步页面中查询数据 392

11.6.3错误处理 393

11.6.4在异步任务中使用缓存 395

11.6.5多异步任务和超时 397

11.7总结 399

第12章 文件和流 400

12.1使用文件系统 400

12.1.1 Directory类和File类 400

12.1.2 DirectoryInfo类和FileInfo类 402

12.1.3 DriveInfo类 404

12.1.4使用Attributes 405

12.1.5使用通配符过滤文件 407

12.1.6获取文件的版本信息 407

12.1.7 Path类 408

12.1.8文件浏览器 410

12.2使用流读写文件 414

12.2.1文本文件 415

12.2.2二进制文件 416

12.2.3上传文件 417

12.2.4使文件对多用户安全 419

12.2.5压缩 423

12.3序列化 423

12.4总结 426

第13章LINQ 427

13.1 LINQ基础 427

13.1.1延迟执行 429

13.1.2 LINQ是如何工作的 429

13.1.3 LINQ表达式 430

13.1.4揭秘LINQ表达式 436

13.2 LINQ to DataSet 439

13.2.1强类型的DataSet 441

13.2.2空值 441

13.3 LINQ to Entities 441

13.3.1生成数据模型 442

13.3.2数据模型类 442

13.3.3实体关系 444

13.3.4查询存储过程 446

13.3.5 LINQ to Entities查询揭 447

13.4数据库操作 452

13.4.1插入 452

13.4.2更新 454

13.4.3删除 454

13.4.4管理并发 455

13.4.5处理并发冲突 455

13.5 EntityDataSource控件 459

13.5.1显示数据 459

13.5.2获取关联数据 463

13.5.3编辑数据 464

13.5.4验证 464

13.6使用QueryExtender控件 465

13.6.1使用SearchExperssion 466

13.6.2使用RangeExpression 467

13.6.3使用PropertyExpression 467

13.6.4使用MethodExpression 468

13.7总结 468

第14章XML 470

14.1什么时候使用XML 470

14.2 XML简介 471

14.2.1 XML的优点 472

14.2.2格式良好的XML 472

14.2.3 XML命名空间 473

14.2.4 XML架构 474

14.3基于流的XML处理 475

14.3.1写XML文件 476

14.3.2读取XML文件 478

14.4内存中的XML处理 481

14.4.1 XmlDocument 482

14.4.2 XPathNavigator 485

14.4.3 XDocument 486

14.5搜索XML内容 491

14.5.1搜索XmlDocument 491

14.5.2使用XPath搜索XmlDocument 493

14.5.3使用LINQ搜索XDocument 494

14.6验证XML内容 496

14.6.1基本架构 496

14.6.2验证XmIDocument 497

14.6.3使用XDocument进行验证 498

14.7转换XML内容 499

14.7.1基本的样式表 499

14.7.2使用XslCompiledTransform 500

14.7.3使用Xml控件 501

14.7.4使用LINQ to XML转换 XML 502

14.8 XML数据绑定 504

14.8.1非层次化绑定 504

14.8.2使用XPath 506

14.8.3嵌套的网格 508

14.8.4使用TreeView的层次化绑定 509

14.8.5使用XSLT 511

14.8.6绑定到来自其他源的XML内容 512

14.8.7通过XmIDataSource更新XML 513

14.9 XML和ADONET数据集 513

14.9.1把DataSet转换为XML 514

14.9.2把DataSet作为XML访问 515

14.10总结 517

第三部分 构建ASP.NET网站 520

第15章 用户控件 520

15.1用户控件基础 520

15.1.1创建简单的用户控件 521

15.1.2把页面转换成用户控件 522

15.2为用户控件添加代码 523

15.2.1处理事件 523

15.2.2添加属性 524

15.2.3使用自定义对象 525

15.2.4添加事件 528

15.2.5公开内部Web控件 530

15.3动态加载用户控件 531

15.4局部页面缓存 534

15.4.1 VaryByControl 535

15.4.2共享缓存控件 536

15.5总结 537

第16章 主题和母版页 538

16.1层叠样式表 538

16.1.1创建样式表 538

16.1.2应用样式表规则 540

16.2主题 542

16.2.1主题文件夹和外观 543

16.2.2应用简单主题 544

16.2.3处理主题冲突 545

16.2.4为同一控件创建多个外观 546

16.2.5含有模板和图片的外观 547

16.2.6在主题里使用CSS 549

16.2.7通过配置文件来应用主题 549

16.2.8动态应用主题 550

16.3标准化网站布局 551

16.4母版页基础 552

16.4.1简单的母版页 552

16.4.2简单的内容页 554

16.4.3默认内容 556

16.4.4具有表格和CSS布局的母版页 556

16.4.5母版页和相对路径 559

16.4.6通过配置文件应用母版页 559

16.5高级母版页 560

16.5.1和母版页类交互 560

16.5.2动态设置母版页 561

16.5.3嵌套母版页 561

16.6总结 563

第17章 网站导航 564

17.1多视图页面 564

17.1.1 MultiView控件 565

17.1.2 Wizard控件 568

17.2站点地图 575

17.2.1定义站点地图 576

17.2.2绑定站点地图 577

17.2.3导航路径 578

17.2.4显示站点地图的一部分 580

17.2.5站点地图对象 583

17.2.6加入自定义站点地图信息 584

17.2.7创建自定义的 SiteMapProvider 584

17.2.8安全调整 590

17.3 URL映射和路由 592

17.3.1 URL映射 592

17.3.2 URL路由 593

17.4 TreeView控件 594

17.4.1 TreeNode 595

17.4.2按需填充节 597

17.4.3 TrecView样式 598

17.5 Menu控件 601

17.5.1 Menu样式 603

17.5.2 Menu模板 605

17.6总结 606

第18章 网站部署 607

18.1安装和配置HS 607

18.1.1安装HS 7 607

18.1.2管理IIS 7 608

18.2部署网站 610

18.2.1通过复制文件进行部署 611

18.2.2使用Web部署 614

18.2.3通过FTP部署 621

18.3管理网站 626

18.3.1创建新站点 626

18.3.2创建虚拟目录 627

18.3.3使用VirtualPathProvider 628

18.3.4使用应用程序池 631

18.3.5使用应用程序预热 633

18.4扩展集成管道 634

18.4.1创建处理程序 634

18.4.2部署处理程序 635

18.4.3配置处理程序 635

18.4.4测试处理程序 636

18.5总结 636

第四部分 安全 638

第19章ASP NET安全模型 638

19.1为何创建安全软件 638

19.1.1理解潜在的威胁 638

19.1.2安全编程原则 639

19.1.3理解Gatekeeper 640

19.2理解安全级别 641

19.2.1验证 641

19.2.2授权 642

19.2.3机密性和完整性 643

19.2.4互相协作 643

19.3理解SSL 644

19.3.1理解证书 645

19.3.2理解SSL 645

19.3.3在IIS 7x中配置 SSL 646

19.4总结 649

第20章 表单验证 650

20.1表单验证介绍 650

20.1.1为什么使用表单验证 650

20.1.2为什么不使用表单验证 652

20.1.3为什么不自己实现cookie 验证 653

20.1.4表单验证类 654

20.2实现表单验证 655

20.2.1配置表单验证 655

20.2.2禁止匿名用户访问 657

20.2.3创建自定义登录页面 658

20.2.4自定义凭证存储 662

20.2.5表单验证中的持久化cookie 663

20.3 IIS 7x和表单验证 665

20.4总结 669

第21章 成员资格 670

21.1介绍ASP NET的成员资格API 670

21.2使用成员资格API 672

21.2.1配置表单验证 673

21.2.2创建数据存储 674

21.2.3配置连接字符串和成员资格提供程序 679

21.2.4创建并验证用户 681

21.3使用安全控件 683

21.3.1 Login控件 684

21.3.2 LoginStatus控件 693

21.3.3 LoginView控件 693

21.3.4 PasswordRecovery控件 694

21.3.5 ChangePassword控件 697

21.3.6 CreateUserWizard控件 698

21.4在HS 7x里配置成员资格 702

21.4.1配置提供程序和用户 702

21.4.2在其他应用程序里使用成员资格API 703

21.5使用Membership类 705

21.5.1从存储中获得用户 706

21.5.2更新存储中的用户 708

21.5.3创建和删除用户 708

21.5.4检验用户 709

21.6总结 709

第22章Windows验证 710

22.1介绍Windows验证 710

22.1.1为什么使用Windows验证 710

22.1.2为什么不使用Windows验证 711

22.1.3 Windows验证机制 712

22.2实现Windows验证 717

22.2.1配置IIS 7x 717

22.2.2配置ASP.NET 718

22.2.3 IIS 7x管道 719

22.2.4禁止匿名用户访问 722

22.2.5访问Windows用户信息 723

22.3身份模拟 727

22.3.1 Windows中的身份模拟和委托 728

22.3.2经过配置的身份模拟 729

22.3.3可编程的身份模拟 729

22.4总结 732

第23章 授权和角色 733

23.1 URL授权 733

23.2文件授权 738

23.3在代码中检查授权 739

23.3.1使用IsInRole()方法 739

23.3.2使用PrincipalPermission类 740

23.4为基于角色的授权使用角色API 742

23.4.1和角色一起使用LoginView 控件 747

23.4.2通过编程访问角色 748

23.4.3在Windows验证中使用角色 API 750

23.5 IIS 7x里的授权和角色 752

23.5.1在IIS 7x里使用ASP.NET 角色授权 754

23.5.2在IIS 7x中管理ASP.NET角色 756

23.6总结 757

第24章 用户配置 758

24.1理解用户配置 758

24.1.1用户配置的性能 758

24.1.2用户配置如何存储数据 759

24.1.3用户配置和验证 760

24.1.4用户配置与自定义的数据组件 760

24.2使用SqlProfileProvider 761

24.2.1创建用户配置表 761

24.2.2配置提供程序 763

24.2.3定义用户配置属性 764

24.2.4使用用户配置属性 764

24.2.5用户配置序列化 766

24.2.6用户配置组 767

24.2.7用户配置和自定义的数据类型 768

24.2.8用户配置API 771

24.2.9匿名用户配置 773

24.3自定义的用户配置提供程序 775

24.3.1自定义的用户配置提供程序类 775

24.3.2设计FactoredProfileProvider 777

24.3.3通过编码实现 FactoredProfileProvider 778

24.3.4 测试FactoredProfileProvider 781

24.4总结 784

第25章 加密 785

25.1加密数据:机密性问题 785

25.2 .NET加密命名空间 786

25.3理解.NET加密类 789

25.3.1对称加密算法 790

25.3.2非对称加密 791

25.3.3抽象加密类 791

25.3.4 ICryptoTransform接口 792

25.3.5 CryptoStream类 793

25.4加密敏感数据 793

25.4.1管理秘密信息 794

25.4.2使用对称算法 795

25.4.3使用非对称算法 799

25.4.4加密数据库中的敏感数据 801

25.5加密查询字符串 806

25.5.1包装查询字符串 806

25.5.2创建一个测试页面 808

25.6总结 810

第26章 自定义成员资格提供程序 811

26.1自定义提供程序的架构 811

26.2创建自定义提供程序的基本步骤 812

26.2.1自定义提供程序的总体设计 813

26.2.2设计并实现自定义存储 813

26.2.3实现提供程序类 820

26.2.4使用自定义提供程序类 837

26.3总结 840

第五部分 高级用户界面 842

第27章 自定义服务器控件 842

27.1自定义服务器控件入门 842

27.1.1创建简单的自定义控件 842

27.1.2使用自定义控件 844

27.1.3工具箱中的自定义控件 845

27.1.4创建支持样式属性的Web控件 847

27.1.5呈现过程 850

27.2处理不同的浏览器 852

27.2.1 HtmlTextWriter 852

27.2.2浏览器检测 852

27.2.3浏览器属性 853

27.2.4覆盖浏览器类型侦测 854

27.2.5自适应呈现 855

27.3控件状态和事件 856

27.3.1视图状态 856

27.3.2控件状态 858

27.3.3回传数据和change事件 860

27.3.4触发回传 862

27.4扩展现有的Web控件 863

27.4.1组合控件 864

27.4.2派生控件 866

27.5总结 869

第28章 图形、GDI+和图表 870

28.1 ImageMap控件 870

28.1.1创建热点 871

28.1.2处理热点单击 872

28.1.3自定义热点 873

28.2使用GDI+画图 875

28.2.1简单绘制 875

28.2.2图像格式和质量 877

28.2.3 Graphics类 878

28.2.4使用Graphi csPath 880

28.2.5画笔 881

28.2.6画刷 883

28.3在网页上嵌入动态图形 885

28.3.1使用PNG格式 885

28.3.2传递信息给动态图像 886

28.3.3使用GDI+的自定义控件 888

28.4使用Chart控件 892

28.4.1创建基本的图表 892

28.4.2用数据填充图表 897

28.5总结 904

第29章JavaScript和Ajax技术 905

29.1 JavaScript本质 905

29.1.1 HTML DOM 906

29.1.2客户端事件 906

29.1.3脚本块 908

29.1.4操纵HTML元素 910

29.1.5调试JavaScript 910

29.2基本的JavaScript示例 912

29.2.1创建JavaScript页面处理器 912

29.2.2使用JavaScript异步下载图片 915

29.2.3呈现脚本块 919

29.3脚本注入攻击 920

29.3.1请求验证 921

29.3.2禁用请求验证 922

29.3.3扩展请求验证 923

29.4带有JavaScript的自定义控件 925

29.4.1弹出窗口 925

29.4.2滚动按钮 928

29.5框架 931

29.5.1框架导航 932

29.5.2内联框架 933

29.6理解Ajax 934

29.6.1 XMLHttpRequest对象 935

29.6.2 Ajax示例 936

29.7在客户端回调中使用Aj ax 939

29.7.1创建客户端回调 940

29.7.2深入了解客户端回调 945

29.7.3自定义控件里的客户端回调 946

29.8总结 949

第30章ASP.NETAJAX 950

30.1介绍ASPNET AJAX 950

30.1.1客户端的ASP.NET AJAX:脚本库 951

30.1.2服务器端的ASPNET AJAX:ScriptManager 952

30.2服务器回调 952

30.2.1 ASPNET AJAX中的Web服务 953

30.2.2在页面里放置Web方法 959

30.2.3 ASP.NET AJAX应用程序服务 960

30.3 ASP.NET AJAX服务器控件 966

30.3.1使用UpdatePanel的局部呈现 966

30.3.2使用Timer的定时刷新 973

30.3.3使用UpdateProgress的耗时更新 974

30.3.4管理浏览器历史 976

30.4深入客户端库 979

30.4.1理解客户端模型 980

30.4.2 JavaScript的面向对象编程 981

30.4.3网页框架 987

30.5控件扩展器 991

30.5.1安装ASPNET AJAX控件工具包 992

30.5.2 AutoCompleteExtender 993

30.5.3 ASPNET AJAX控件工具包 996

30.6总结 999

第31章 使用Web部件页面的门户网站 1000

31.1典型门户页面 1000

31.2基本Web部件页面 1002

31.2.1创建页面设计 1002

31.2.2 WebPartManager和WebPartZone 1003

31.2.3向页面添加Web部件 1004

31.2.4定制页面 1008

31.3创建Web部件 1010

31.3.1简单的Web部件任务 1010

31.3.2开发高级Web部件 1017

31.3.3 Web部件编辑器 1024

31.3.4连接Web部件 1029

31.3.5自定义动词和Web部件 1036

31.3.6用户控件和高级Web部件 1037

31.3.7动态上传Web部件 1040

31.3.8对Web部件的授权 1044

31.3.9个性化的最后任务 1045

31.4总结 1046

第32章MVC 1047

32.1 MVC和Web表单的选择 1047

32.2创建基本的MVC应用程序 1047

32.2.1创建模型 1048

32.2.2创建控制器 1049

32.2.3创建Index视图 1050

32.2.4测试(未完成的)应用程序 1050

32.2.5完成控制器和视图 1051

32.2.6修改Site.Master文件 1053

32.3扩展基础的MVC应用程序 1053

32.3.1配置路由 1054

32.3.2增加错误处理 1055

32.3.3增加验证 1056

32.3.4增强数据存储访问 1057

32.3.5增加对外键约束的支持 1059

32.4自定义视图 1059

32.4.1修改视图 1060

32.4.2增加视图数据 1062

32.5强化模型 1063

32.6验证数据 1066

32.6.1执行基本的验证 1067

32.6.2增加验证标注 1068

32.7使用动作结果 1071

32.7.1返回JSON数据 1072

32.7.2调用其他控制器方法 1072

32.8总结 1074

第33章 动态数据 1075

33.1创建动态数据应用程序 1075

33.1.1创建动态数据网站 1075

33.1.2检验动态数据网站 1077

33.2深入理解动态数据项目 1080

33.3自定义动态数据网站 1080

33.3.1使用模板进行自定义 1081

33.3.2使用路由进行自定义 1087

33.3.3使用元数据进行自定义 1094

33.3.4自定义验证 1099

33.4总结 1103

第34章Silverlight 1104

34.1理解Silverlight 1105

34.1.1 Silverlight与Flash对比 1106

34.1.2 Silverlight 系统需求 1107

34.2创建Silverlight解决方案 1108

34.2.1 Silverlight编译 1109

34.2.2入口页面 1110

34.3创建Silverlight项目 1114

34.3.1设计Silverlight页面 1114

34.3.2理解XAML 1117

34.3.3设置属性 1118

34.3.4 XAML代码隐藏 1119

34.3.5处理事件 1120

34.3.6了解Silverlight类库 1121

34.4布局 1122

34.4.1 Canvas 1123

34.4.2网格 1127

34.5动画 1131

34.5.1动画基础知识 1132

34.5.2定义动画 1132

34.5.3 StoryBoard类 1133

34.5.4交互式动画实例 1135

34.5.5变换 1138

34.6 Silverlight使用Web服务 1141

34.6.1创建Web服务 1141

34.6.2添加Web引用 1142

34.6.3调用Web服务 1143

34.6.4配置Web服务URL 1144

34.6.5跨域Web服务调用 1144

34.7总结 1146