[美] Matthew MacDonald《ASP.NET 4高级程序设计(第4版)》

[美] Matthew MacDonald《ASP.NET 4高级程序设计(第4版)》

作者:[美] Matthew MacDonald

出版社:人民邮电出版社

出版年:2011-6

评分:7.9

ISBN:9787115253293

所属分类:网络科技

书刊介绍

内容简介

《ASP.NET 4高级程序设计(第4版)》,本书是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。

作品目录

第一部分 核心概念

第1 章 ASP.NET 简介2

1.1 ASP.NET 的7 大要点2

1.1.1 要点1:ASP.NET 是同.NETFramework 集成在一起的 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 ASP.NET 的演变 9

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

1.2.2 ASP.NET 2.09

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 Studio16

2.1 Visual Studio  16

2.1.1 网站和Web 项目  17

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

2.1.3 设计网页 21

2.2 Visual StudioIDE 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 和Cache84

3.4.2 Request85

3.4.3 Response86

3.4.4 Server 88

3.4.5 User  90

3.4.6 Trace  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.3 HtmlInputControl 类 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 焦点12

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 章 ASP.NET 应用程序137

5.1 剖析ASP.NET 应用程序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 设置150

5.3.4 150

5.3.5   150

5.3.6 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 ASP.NET 状态管理 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

第二部 分 数据访问

第7 章 ADO.NET 基础 208

7.1 ADO.NET 架构209

7.1.1 ADO.NET 数据提供程序 209

7.1.2 ADO.NET 的标准化 210

7.1.3 基本ADO.NET 类 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 事务和ASP.NET 应用程序  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 SqlDataSource278

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 格式化GridView307

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 模板中的客户端ID 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 理解ASP.NET 缓存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 验证XmlDocument 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 通过XmlDataSource更新XML 513

14.9 XML 和ADO.NET 数据集513

14.9.1 把DataSet 转换为XML 514

14.9.2 把DataSet 作为XML 访问 515

14.10 总结  517

第三部分 构建ASP.NET 网站第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 TreeView 样式 598

17.5 Menu 控件601

17.5.1 Menu 样式 603

17.5.2 Menu 模板 605

17.6 总结 606

第18 章 网站部署 607

18.1 安装和配置IIS607

18.1.1 安装IIS 7607

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 使用VirtualPathProvider628

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

第四部分 安 全

第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 理解SSL644

19.3.1 理解证书 645

19.3.2 理解SSL 645

19.3.3 在IIS 7.x 中配置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 7.x 和表单验证 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 在IIS 7.x 里配置成员资格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 7.x  717

22.2.2 配置ASP.NET 718

22.2.3 IIS 7.x 管道 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 为基于角色的授权使用角色API742

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

23.4.2 通过编程访问角色   748

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

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

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

23.5.2 在IIS 7.x 中管理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 使用SqlProfileProvider761

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

第五部分 高级用户界面第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 使用GraphicsPath 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 理解Ajax934

29.6.1 XMLHttpRequest 对象 935

29.6.2 Ajax 示例936

29.7 在客户端回调中使用Ajax 939

29.7.1 创建客户端回调 940

29.7.2 深入了解客户端回调 945

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

29.8 总结949

第30 章 ASP.NET AJAX 950

30.1 介绍ASP.NET AJAX  950

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

30.1.2 服务器端的ASP.NET AJAX:ScriptManager 952

30.2 服务器回调952

30.2.1 ASP.NET 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 安装ASP.NET AJAX 控件工具包992

30.5.2 AutoCompleteExtender 993

30.5.3 ASP.NET 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 章 Silverlight1104

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 理解XAML1117

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

相关推荐

微信二维码