《ASP.NET MVC 3 高级编程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:加洛韦(JonGalloway)著;PhilHaack著;BradWilson著;K.ScottAllen著;孙远帅译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302286752
  • 页数:370 页
图书介绍:本书涵盖了ASP.NET MVC 3.0的所有高级特性,包括ASP.NET MVC的结构原理——可扩展性、可测试性和关注点分离,路由、控制器、视图及视图引擎、控件的使用、过滤器的解析及开发、控制器与视图间数据的传递原理、测试技术、站点的部署等。

第1章 入门 1

1.1 ASP.NET MVC简介 1

1.1.1 ASP.NET MVC如何适应ASP.NET 1

1.1.2 MVC模式简介 2

1.1.3 MVC在Web框架中的应用 2

1.1.4 ASP.NET MVC 3的发展历程 3

1.1.5 Razor视图引擎 5

1.1.6验证的改善 8

1.1.7强大的JavaScript支持 9

1.1.8高级功能 9

1.1.9 ASP.NET MVC 3特性总结 10

1.2创建ASP.NET MVC 3应用程序 10

1.2.1创建ASP.NET MVC 3应用程序的软件要求 11

1.2.2.安装ASP.NET MVC 3 11

1.2.3.创建ASP.NET MVC 3应用程序 12

1.2.4 New ASP.NET MVC 3 Project对话框 13

1.3 ASP.NET MVC应用程序的结构 17

1.4小结 20

第2章 控制器 21

2.1控制器的角色 21

2.2控制器简史 22

2.3示例应用程序: MVC Music Store 23

2.4控制器基础 26

2.4.1简单示例:Home Controller 26

2.4.2创建第一个(非常简单的)控制器 29

2.4.3控制器操作中的参数 31

2.5小结 33

第3章 视图 35

3.1视图的作用 36

3.2指定视图 38

3.3强类型视图 39

3.4视图模型 41

3.5添加视图 42

3.5.1 Add View对话框中的选项 42

3.5.2自定义T4视图模板 45

3.6 Razor视图引擎 46

3.6.1 Razor的概念 46

3.6.2代码表达式 48

3.6.3 Html编码 50

3.6.4代码块 51

3.6.5 Razor语法示例 52

3.6.6布局 54

3.6.7 ViewStart 56

3.7指定分部视图 57

3.8视图引擎 58

3.8.1配置视图引擎 58

3.8.2查找视图 59

3.8.3视图本身 60

3.8.4其他的视图引擎 61

3.9新的视图引擎还是新的ActionResult 62

3.10小结 63

第4章 模型 65

4.1为MVC Music Store建模 65

4.2为商店管理器构造基架 68

4.2.1基架的概念 68

4.2.2基架和实体框架 69

4.2.3执行基架模板 71

4.2.4执行基架代码 75

4.3编辑专辑 78

4.3.1创建编辑专辑的资源 79

4.3.2响应编辑时的POST请求 81

4.4模型绑定 83

4.4.1 DefaultModelBinder 84

4.4.2模型绑定安全性简介 85

4.4.3显式模型绑定 85

4.5小结 86

第5章 表单和HTML辅助方法 89

5.1表单的使用 89

5.1.1 action和method特性 90

5.1.2 GET方法还是POST方法 90

5.2 HTML辅助方法 94

5.2.1自动编码 95

5.2.2辅助方法的使用 95

5.2.3 HTML辅助方法的工作原理 96

5.2.4设置专辑编辑表单 97

5.2.5添加输入元素 98

5.2.6辅助方法、模型和视图数据 102

5.2.7强类型辅助方法 104

5.2.8辅助方法和模型元数据 105

5.2.9模板辅助方法 105

5.2.10辅助方法和ModelState 106

5.3其他输入辅助方法 107

5.3.1 Html.Hidden 107

5.3.2 Html.Password 107

5.3.3 Html.RadioButton 107

5.3.4 Html.CheckBox 108

5.4渲染辅助方法 108

5.4.1 Html.ActionLink和Html.RouteLink 109

5.4.2 URL辅助方法 110

5.4.3 Html.Partial和Html.RenderPartial 110

5.4.4 Html.Action和Html.RenderAction 111

5.5小结 113

第6章 数据注解和验证 115

6.1为验证注解订单 116

6.1.1验证注解的使用 117

6.1.2自定义错误提示消息及其本地化 121

6.1.3注解的后台原理 122

6.1.4控制器操作和验证错误 123

6.2自定义验证逻辑 125

6.2.1自定义注解 125

6.2.2 IValidatableObject 128

6.3显示和编辑注解 129

6.3.1 Display 130

6.3.2 ScaffoldColumn 130

6.3.3 DisplayFormat 131

6.3.4 ReadOnly 131

6.3.5 DataType 132

6.3.6 UIHint 132

6.3.7 HiddenInput 132

6.4小结 132

第7章 应用程序的安全性 133

7.1使用Authorize特性登录 135

7.1.1保护控制器操作 135

7.1.2 Authorize特性在表单身份验证、AccountController控制器中的用法 139

7.1.3 Intranet Application模板中的Windows Authenticatio 141

7.1.4整个控制器的安全性 141

7.2要求角色成员使用Authorize特性 142

7.3扩展角色和成员 143

7.4 Web应用程序中的安全向量 143

7.4.1威胁:跨站脚本 144

7.4.2威胁:跨站请求伪造 154

7.4.3威胁:cookie盗窃 158

7.4.4威胁:重复提交 160

7.4.5威胁:开放重定向 162

7.5适当的错误报告和堆栈跟踪 170

7.5.1使用配置转换 171

7.5.2使用Retail部署配置 172

7.5.3使用专门的错误日志系统 172

7.6安全回顾和有用资源 172

7.7小结 173

第8章AJAX 175

8.1 jQuery 175

8.1.1.jQuery的特性 176

8.1.2.非侵入式JavaScript 179

8.1.3 jQuery的用法 180

8.2 AJAX辅助方法 183

8.2.1 AJAX的ActionLink方法 183

8.2.2HTML 5特性 185

8.2.3 AJAX表单 186

8.3客户端验证 188

8.3.1 jQuery验证 189

8.3.2自定义验证 190

8.4辅助方法之外 194

8.4.1 jQuery UI 194

8.4.2使用jQuery UI实现自动完成部件 195

8.4.3 JSON和jQuery模板 199

8.5提高AJAX性能 204

8.5.1使用内容分发网络 204

8.5.2脚本优化 204

8.6小结 205

第9章 路由机制 207

9.1理解URL 208

9.2路由机制概述 209

9.2.1对比路由和URL重写 209

9.2.2路由的定义 209

9.2.3命名路由 217

9.2.4 MVC区域 219

9.2.5 Catch-All参数 220

9.2.6段中的多个URL参数 221

9.2.7 StopRoutingHandler和IgnoreRoute 222

9.2.8路由的调试 223

9.2.9揭秘路由如何生成URL 224

9.3揭秘路由如何绑定到操作 230

9.3.1高层次请求的路由管道 230

9.3.2路由数据 230

9.4自定义路由约束 231

9.5 Web Forms和路由机制 232

9.6小结 233

第10章NuGet 235

10.1 NuGet概述 235

10.2 NUGET安装 236

10.3以包的形式添加库 238

10.3.1查找包 239

10.3.2安装包 240

10.3.3更新包 242

10.3.4最近使用的包 243

10.4创建包 245

10.4.1文件夹结构 246

10.4.2 NuSpec文件 246

10.4.3元数据 247

10.4.4依赖库 248

10.4.5指定要包含的文件 249

10.4.6工具 249

10.4.7框架和轮廓定位 252

10.5发布包 253

10.5.1发布到NuGet.org 253

10.5.2使用NuGet.exe发布包 256

10.5.3包浏览器的用法 257

10.5.4托管私有的NuGet供应库 258

10.6小结 261

第11章 依赖注入 263

11.1软件设计模式概述 263

11.1.1设计模式——控制反转模式 264

11.1.2设计模式——服务定位器 266

11.1.3设计模式——依赖注入 270

11.2依赖解析器的用法 272

11.2.1单一注册服务 274

11.2.2复合注册服务 275

11.2.3创建任意对象 278

11.3小结 280

第12章 单元测试 281

12.1单元测试和测试驱动开发的意义 282

12.1.1单元测试的定义 282

12.1.2测试驱动开发的定义 283

12.2创建单元测试项目 286

12.2.1检查默认单元测试 287

12.2.2只测试自己编写的代码 290

12.3单元测试用于ASP.NET MVC应用程序的技巧和窍门 291

12.3.1控制器测试 291

12.3.2路由测试 296

12.3.3验证测试 298

12.4小结 302

第13章 扩展ASP.NET MVC 303

13.1模型扩展 304

13.1.1把请求数据转化为模型 304

13.1.2用元数据描述模型 309

13.1.3验证模型 312

13.2视图扩展 315

13.2.1自定义视图引擎 315

13.2.2编写HTML辅助方法 317

13.2.3编写Razor辅助方法 319

13.3控制器扩展 319

13.3.1操作选择 319

13.3.2操作过滤器 321

13.3.3提供自定义结果 323

13.4小结 324

第14章 高级主题 325

14.1高级Razor 325

14.1.1模板化的Razor委托 325

14.1.2视图编译 326

14.2高级基架 328

14.2.1自定义T4代码模板 328

14.2.2 NuGet包MvcScaffolding 329

14.2.3更新的Add Controller对话框选项 329

14.2.4使用库模板 330

14.2.5添加基架器 332

14.2.6额外资源 332

14.3高级路由 332

14.3.1 RouteMagic 332

14.3.2可编辑的路由 333

14.4模板 337

14.4.1默认模板 338

14.4.2自定义模板 342

14.5高级控制器 344

14.5.1定义控制器:IController接口 344

14.5.2 ControllerBase抽象基类 346

14.5.3控制器类和操作 346

14.5.4 ActionResult 351

14.5.5操作调用器 359

14.5.6使用异步控制器操作 362

14.6小结 370