第1章 ASP.NET MVC概述 1
1.1 ASP.NET MVC简介 1
1.1.1初识MVC模式 1
1.1.2 MVC模式在Web开发中的应用 2
1.1.3 ASP.NET与ASP.NET MVC 3
1.1.4 ASP.NET MVC现状 4
1.2 MVC模式下的Web项目开发 5
1.2.1开发环境 5
1.2.2应用程序的结构 5
1.3 ASP.NET MVC生命周期 10
第2章 初识ASP.NET MVC项目开发 12
2.1示例项目概述——在线书店 12
2.2利用项目模板创建ASP.NET MVC项目 14
2.3创建控制器 16
2.4创建数据模型 19
2.5创建视图 23
2.6实现订单提交功能 27
2.6.1在动作中接收连接参数 27
2.6.2在视图中创建表单 30
2.6.3将视图中的表单数据传递到动作 32
第3章 数据模型 41
3.1数据模型概述 41
3.2创建数据模型 41
3.2.1基于LINQ to SQL的数据模型 42
3.2.2基于Entity Framework的数据模型 44
3.2.3自定义数据模型 45
3.3 ASP.NET MVC项目数据模型的选择与使用 46
3.3.1创建基于Entity Framework的数据模型 47
3.3.2基于Entity Framework数据模型的数据查询 50
3.3.3基于Entity Framework数据模型的数据更新 52
3.3.4基于Entity Framework数据模型的数据添加与删除 53
3.4库模式数据模型 54
第4章 控制器技术 62
4.1控制器概述 62
4.1.1 Controller的创建与结构 62
4.1.2 Controller的执行过程 65
4.2动作名称选择器 65
4.3动作方法选择器 67
4.3.1 NornAction属性 67
4.3.2 HttpGet属性、HttppPost属性、HttpDelete属性和HttpPut属性 67
4.4过滤器属性 69
4.4.1授权过滤器 71
4.4.2动作过滤器 74
4.4.3结果过滤器 76
4.4.4异常过滤器 78
4.4.5自定义动作过滤器 79
4.5动作执行结果 81
4.5.1常用的动作执行结果类 82
4.5.2 ViewData与TempData 85
第5章 视图技术 99
5.1视图概述 99
5.2创建与指定视图 100
5.3表单和HTML辅助方法 102
5.3.1表单的使用 102
5.3.2 HTML辅助方法 103
5.3.3输入类辅助方法 104
5.3.4显示类辅助方法 105
5.4强类型视图 109
5.4.1强类型视图 109
5.4.2强类型辅助方法 111
5.5视图模型 112
5.6分部视图 113
5.6.1分部视图的作用 113
5.6.2创建分部视图 114
5.6.3使用分部视图 114
5.7 Razor视图引擎 115
5.7.1视图引擎 115
5.7.2 Razor概述 115
5.7.3代码表达式 116
5.7.4 HTML编码 117
5.7.5代码块 118
5.7.6 Razor语法 118
5.7.7布局 121
5.8模型绑定 123
5.8.1强类型视图模型绑定 123
5.8.2非强类型视图模型绑定 124
5.8.3控制可被更新的Model属性 126
第6章 数据验证 136
6.1 MVC数据验证概述 136
6.2验证属性的使用 138
6.2.1添加验证属性 138
6.2.2常用验证属性 142
6.2.3自定义错误提示消息及其本地化 143
6.2.4控制器操作和验证错误 145
6.3自定义验证 146
6.3.1自定义验证属性 146
6.3.2 IValidatableObject 149
6.4扩充基于Entity Framework的数据模型 150
6.4.1应用partial扩展原有Model 150
6.4.2定义Model的Metadata 151
第7章 应用AJAX 158
7.1 AJAX辅助方法 158
7.1.1 AJAX的actionlink方法 159
7.1.2 AJAX表单 161
7.2客户端验证 166
7.2.1 jQuery验证 166
7.2.2自定义验证 169
7.3自定义AJAX功能 171
7.3.1 jQuery UI 172
7.3.2自动完成功能的实现 173
7.3.3 JSON和jQuery模板 174
7.4提高AJAX性能 178
7.4.1使用内容分发网络 178
7.4.2脚本优化 178
第8章 网址路由 183
8.1网址路由概述 183
8.1.1路由比对与URL重写 183
8.1.2定义路由 184
8.1.3路由命名 187
8.1.4路由常见用法 188
8.1.5路由调试 191
8.2自定义路由 192
8.3 Web窗体与网址路由 193
第9章 单元测试 210
9.1单元测试与测试驱动开发 210
9.1.1单元测试 210
9.1.2测试驱动开发 211
9.2 MVC项目中的单元测试 213
9.2.1默认单元测试 214
9.2.2自定义单元测试 216
9.3 MVC单元测试技巧 216
9.3.1控制器测试 217
9.3.2应用Mock对象 217
9.3.3路由测试 219
第10章 ASP.NET MVC高级技术 233
10.1路由高级应用 233
10.1.1扩展路由 233
10.1.2可编辑路由 233
10.2模板 237
10.2.1默认模板 237
10.2.2自定义模板 238
10.3控制器高级应用 239
10.3.1定义控制器 239
10.3.2抽象基类 239
10.3.3添加控制器操作 240
10.3.4 ActionResult应用 241
10.3.5异步控制器 244