《ASP.NET MVC 4高级编程(第4版)》


基本信息


作者: (美)Jon Galloway    Phil Haack    Brad Wilson    K. Scott Allen   


译者: 孙远帅 邹权


丛书名: .NET开发经典名著


出版社:清华大学出版社


ISBN:9787302330035


上架时间:2013-8-22


出版日期:2013 年9月


开本:16开


页码:211


版次:4-1


所属分类:计算机 > 软件与程序设计 > .NET > ASP.NET


ASP.NET MVC 4高级编程(第4版)_mvc


更多关于 》》》《 ​​ASP.NET MVC 4高级编程(第4版) ​​》


内容简介


    计算机书籍


解释asp.net mvc框架与“文件页”web框架的不同之处


介绍控制器、视图、模型、表单、html辅助方法、数据注解、验证、成员资格、授权、安全和路由


着重介绍最核心的主题:ajax、jquery、nuget、依赖注入、单元测试、mvc扩展和razor


在实际的大型asp.net mvc案例网站nuget gallery中演示所有知识点


应上一版读者提出的要求,本书涵盖了其他一些紧贴实用的开发知识 


目录


《asp.net mvc 4高级编程(第4版)》 


第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 4的发展历程 3 


1.1.5 asp.net mvc 4概述 9 


1.1.6 asp.net web api 10 


1.1.7 增强的默认项目模板 11 


1.1.8 使用jquery mobile的移动项目模板 12 


1.1.9 显示模式 13 


1.1.10 捆绑和微小框架 13 


1.1.11 包含开源库 14 


1.1.12 其他功能 14 


1.1.13 开源发布 16 


1.2 创建asp.net mvc 4应用程序 16 


1.2.1 创建asp.net mvc 4应用程序的软件要求 16 


1.2.2 安装asp.net mvc 4 17 


1.2.3 创建asp.net mvc 4应用程序 18 


.1.2.4 new asp.net mvc 4project对话框 19 


1.3 asp.net mvc应用程序的结构 23 


1.4 小结 27 


第2章 控制器 29 


2.1 控制器的角色 29 


2.2 示例应用程序:mvc music store 31 


2.3 控制器基础 33 


2.3.1 简单示例:home controller 34 


2.3.2 创建第一个控制器 36 


2.3.3 控制器操作中的参数 39 


2.4 小结 41 


第3章 视图 43 


3.1 视图的作用 44 


3.2 指定视图 45 


3.3 强类型视图 47 


3.4 视图模型 49 


3.5 添加视图 50 


3.6 razor视图引擎 53 


3.6.1 razor的概念 53 


3.6.2 代码表达式 54 


3.6.3 html编码 56 


3.6.4 代码块 58 


3.6.5 razor语法示例 59 


3.6.6 布局 61 


3.6.7 viewstart 64 


3.7 指定部分视图 64 


3.8 小结 65 


第4章 模型 67 


4.1 为mvc music store建模 67 


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


4.2.1 基架的含义 70 


4.2.2 基架和实体框架 72 


4.2.3 执行基架模板 74 


4.2.4 执行基架代码 77 


4.3 编辑专辑 81 


4.3.1 创建编辑专辑的资源 82 


4.3.2 响应编辑时的post请求 84 


4.4 模型绑定 86 


4.4.1 defaultmodelbinder 87 


4.4.2 显式模型绑定 88 


4.5 小结 89 


第5章 表单和html辅助方法 91 


5.1 表单的使用 91 


5.1.1 action和method特性 92 


5.1.2 get方法还是post方法 92 


5.2 html辅助方法 96 


5.2.1 自动编码 96 


5.2.2 辅助方法的使用 97 


5.2.3 html辅助方法的工作原理 98 


5.2.4 设置专辑编辑表单 98 


5.2.5 添加输入元素 100 


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


5.2.7 强类型辅助方法 106 


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


5.2.9 模板辅助方法 107 


5.2.10 辅助方法和modelstate 108 


5.3 其他输入辅助方法 109 


5.3.1 html.hidden 109 


5.3.2 html.password 109 


5.3.3 html.radiobutton 109 


5.3.4 html.checkbox 110 


5.4 渲染辅助方法 110 


5.4.1 html.actionlink和html.routelink 110 


5.4.2 url辅助方法 111 


5.4.3 html.partial和html.renderpartial 112 


5.4.4 html.action和html.renderaction 113 


5.5 小结 115 


第6章 数据注解和验证 117 


6.1 为验证注解订单 118 


6.1.1 验证注解的使用 119 


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


6.1.3 注解的后台原理 124 


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


6.2 自定义验证逻辑 127 


6.2.1 自定义注解 127 


6.2.2 ivalidatableobject 130 


6.3 显示和编辑注解 131 


6.3.1 display 131 


6.3.2 scaffoldcolumn 132 


6.3.3 displayformat 132 


6.3.4 readonly 133 


6.3.5 datatype 133 


6.3.6 uihint 134 


6.3.7 hiddeninput 134 


6.4 小结 134 


第7章 成员资格、授权和安全性 135 


7.1 使用authorize特性登录 137 


7.1.1 保护控制器操作 137 


7.1.2 authorize特性在表单身份验证和accountcontroller控制器中的用法 141 


7.1.3 intranet application模板中的windows authentication 142 


7.1.4 整个控制器的安全性 143 


7.1.5 使用全局授权过滤器保障整个应用程序安全 144 


7.2 要求角色成员使用authorize特性 145 


7.3 扩展角色和成员 146 


7.4 通过oauth和openid的外部登录 146 


7.4.1 注册外部登录提供器 148 


7.4.2 配置openid提供器 148 


7.4.3 配置oauth提供器 151 


7.4.4 外部登录的安全性 152 


7.5 web应用程序中的安全向量 153 


7.5.1 威胁:跨站脚本 153 


7.5.2 威胁:跨站请求伪造 163 


7.5.3 威胁:cookie盗窃 167 


7.5.4 威胁:重复提交 169 


7.5.5 威胁:开放重定向 171 


7.6 适当的错误报告和堆栈跟踪 179 


7.6.1 使用配置转换 180 


7.6.2 在生产环境中使用retail部署配置 181 


7.6.3 使用专门的错误日志系统 181 


7.7 安全回顾和有用资源 182 


7.8 小结 182 


第8章 ajax 185 


8.1 jquery 185 


8.1.1 jquery的特性 186 


8.1.2 非侵入式javascript 189 


8.1.3 jquery的用法 190 


8.2 ajax辅助方法 193 


8.2.1 ajax的actionlink方法 193 


8.2.2 html 5特性 195 


8.2.3 ajax表单 196 


8.3 客户端验证 198 


8.3.1 jquery验证 198 


8.3.2 自定义验证 200 


8.4 辅助方法之外 204 


8.4.1 jquery ui 204 


8.4.2 使用jquery ui实现自动完成部件 205 


8.4.3 json和客户端模板 208 


8.5 提高ajax性能 213 


8.5.1 使用内容分发网络 213 


8.5.2 脚本优化 214 


8.5.3 捆绑和微小 214 


8.6 小结 215 


第9章 路由 217 


9.1 统一资源定位符——url 218 


9.2 路由概述 219 


9.2.1 对比路由和url重写 219 


9.2.2 路由的定义 220 


9.2.3 路由命名 227 


9.2.4 mvc区域 229 


9.2.5 catch-all参数 230 


9.2.6 段中的多个url参数 231 


9.2.7 stoproutinghandler和ignoreroute 232 


9.2.8 路由的调试 233 


9.3 揭秘路由如何生成url 234 


9.3.1 url生成的高层次概述 235 


9.3.2 url生成详解 235 


9.3.3 外界路由值 237 


9.3.4 route类生成url的若干示例 239 


9.4 揭秘路由如何绑定到操作 240 


9.4.1 高层次请求的路由管道 240 


9.4.2 路由数据 241 


9.5 自定义路由约束 241 


9.6 web forms和路由机制 242 


9.7 小结 243 


第10章 nuget 245 


10.1 nuget概述 245 


10.2 nuget安装 246 


10.3 以包的形式添加库 248 


10.3.1 查找包 249 


10.3.2 安装包 250 


10.3.3 更新包 253 


10.3.4 最近包 254 


10.3.5 包恢复 254 


10.3.6 包管理器控制台的用法 255 


10.4 创建包 258 


10.4.1 打包项目 258 


10.4.2 打包文件夹 259 


10.4.3 nuspec文件 259 


10.4.4 元数据 260 


10.4.5 依赖库 261 


10.4.6 指定要包含的文件 262 


10.4.7 工具 263 


10.4.8 框架和轮廓定位 266 


10.4.9 预发布包 267 


10.5 发布包 267 


10.5.1 发布到nuget.org 267 


10.5.2 使用nuget.exe 269 


10.5.3 包浏览器的用法 271 


10.6 小结 272 


第11章 asp.net web api 273 


11.1 定义asp.net web api 274 


11.2 web api入门 274 


11.3 编写api控制器 275 


11.3.1 检查示例valuescontroller 275 


11.3.2 异步设计:ihttpcontroller 277 


11.3.3 传入的操作参数 278 


11.3.4 操作返回值、错误和异步 278 


11.4 配置web api 279 


11.4.1 web托管web api的配置 279 


11.4.2 自托管web api的配置 280 


11.4.3 第三方托管配置 281 


11.5 向web api添加路由 281 


11.6 绑定参数 282 


11.7 过滤请求 284 


11.8 启用依赖注入 285 


11.9 探索api编程 286 


11.10 跟踪应用程序 287 


11.11 web api示例:productscontroller 287 


11.12 小结 290 


第12章 依赖注入 291 


12.1 软件设计模式 291 


12.1.1 设计模式——控制反转模式 292 


12.1.2 设计模式——服务定位器 294 


12.1.3 设计模式—— 依赖注入 298 


12.2 mvc中的依赖解析 300 


12.2.1 单一注册服务 302 


12.2.2 复合注册服务 302 


12.2.3 mvc中的任意对象 304 


12.3 web api中的依赖解析 306 


12.3.1 web api的单一注册服务 307 


12.3.2 web api中的复合注册服务 308 


12.3.3 web api中的任意对象 308 


12.3.4 对比mvc和web api中的依赖解析器 309 


12.4 小结 309 


第13章 单元测试 311 


13.1 单元测试和测试驱动开发的意义 311 


13.1.1 单元测试的定义 312 


13.1.2 测试驱动开发的定义 313 


13.2 创建单元测试项目 316 


13.2.1 检查默认单元测试 317 


13.2.2 只测试自己编写的代码 320 


13.3 单元测试用于asp.net mvc应用程序的技巧和窍门 321 


13.3.1 控制器测试 321 


13.3.2 路由测试 326 


13.3.3 验证测试 328 


13.4 小结 332 


第14章 扩展asp.net mvc 333 


14.1 模型扩展 334 


14.1.1 把请求数据转化为模型 334 


14.1.2 用元数据描述模型 339 


14.1.3 验证模型 342 


14.2 视图扩展 345 


14.2.1 自定义视图引擎 345 


14.2.2 编写html辅助方法 348 


14.2.3 编写razor辅助方法 349 


14.3 控制器扩展 349 


14.3.1 操作选择 349 


14.3.2 操作过滤器 351 


14.3.3 提供自定义结果 353 


14.4 小结 354 


第15章 高级主题 355 


15.1 移动支持 355 


15.1.1 适应性呈现 356 


15.1.2 显示模式 360 


15.1.3 mobile project模板 361 


15.2 高级razor 363 


15.2.1 模板化的razor委托 363 


15.2.2 视图编译 364 


15.3 高级视图引擎 365 


15.3.1 视图引擎配置 366 


15.3.2 查找视图 367 


15.3.3 视图本身 368 


15.3.4 备用视图引擎 369 


15.3.5 新视图引擎还是新actionresult 370 


15.4 高级基架 371 


15.4.1 自定义t4代码模板 371 


15.4.2 nuget包mvcscaffolding 372 


15.4.3 更新的add controller对话框选项 373 


15.4.4 使用库模板 373 


15.4.5 添加基架器 375 


15.4.6 额外资源 375 


15.5 高级路由 375 


15.5.1 routemagic 376 


15.5.2 可编辑路由 376 


15.6 高级模板 380 


15.6.1 默认模板 380 


15.6.2 自定义模板 385 


15.7 高级控制器 386 


15.7.1 定义控制器:icontroller接口 386 


15.7.2 controllerbase抽象基类 387 


15.7.3 控制器类和操作 388 


15.7.4 actionresult 390 


15.7.5 操作调用器 398 


15.7.6 使用异步控制器操作 401 


15.8 小结 408 


第16章 asp.net mvc实战:构建nuget.org网站 409 


16.1 源码与我们同在 410 


16.2 webactivator 411 


16.3 asp.net动态数据 413 


16.4 异常日志 416 


16.5 性能分析 417 


16.6 数据访问 420 


16.7 ef基于代码迁移 421 


16.8 成员资格 423 


16.9 其他有用的nuget包 424 


16.9.1 t4mvc 424 


16.9.2 webbackgrounder 425 


16.9.3 lucene.net 426 


16.9.4 anglicangeek.markdown-mailer 426 


16.9.5 ninject 426 


16.10 小结 427