《ASP.NET MVC 2开发实战》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:黄保翕著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121127885
  • 页数:332 页
图书介绍:本书主要分成3篇。基础观念篇介绍了开发人员在学习ASP.NET MVC之前需要了解的技术和观念,以及MVC架构的基础知识。技术讲解篇针对ASP.NET MVC 2的各项开发技术进行解析,以帮助开发人员解决实际问题。开发实战篇通过一套完整的留言板系统案例详述ASP.NET MVC 2的开发技巧与流程,以及ASP.NET MVC的安装部署和单元测试方法。

第1篇基础观念篇 2

第1章在学习ASP.NETMVC之前 2

1.1何谓MVC 3

1.1.1何谓Model 3

1.1.2何谓View 4

1.1.3何谓Controller 5

1.2MVC架构初探 6

1.2.1关联性 6

1.2.2独立性 7

1.3为什么要使用ASPNETMVC 8

1.3.1分解关注点与可维护性 8

1.3.2开放性与社区支持 9

1.3.3开发工具与开发效率 10

1.3.4易于测试的架构 10

1.3.5易于分工的架构 11

总结 11

第2章建立正确的开发观念 12

2.1分解关注点 13

2.2以习惯取代配置 13

2.3对开发ASPNET MVC项目的建议 14

2.4ASPNET MVC中常见的问题 18

总结 25

第3章新手上路初体验 26

3.1认识Visual Studio 2010 27

3.1.1解决方案资源管理器窗口 27

3.1.2服务器资源管理器窗口 27

3.1.3工具箱窗口 27

3.1.4输出窗口 28

3.1.5错误列表窗口 28

3.1.6扩充管理器 29

3.1.7代码段管理器 29

3.2创建第1个ASPNET MVC项目 30

3.2.1用ASPNET MVC 2项目模板创建项目 30

3.2.2创建数据模型 38

3.2.3创建控制器和动作 41

3.2.4创建视图 42

3.2.5在视图中创建窗口 44

3.2.6通过Action接收窗口数据 46

3.2.7实现留言显示功能 49

3.3学习MVC时的注意事项 53

3.3.1了解不同的项目类型 53

3.3.2初学者常犯的错误 53

3.3.3小心使用Request对象和Response对象 54

3.3.4不要在视图中编写过多的程序逻辑 54

3.4改良ASP.NET MVC项目 55

3.4.1使用视图数据模型 55

3.4.2使用窗口验证功能 58

3.4.3避免用户重复发送信息 65

总结 68

第2篇技术讲解篇 70

第4章网址路由与ASPNET MVC的生命周期 70

4.1网址路由 71

4.1.1比对通过浏览器传来的HTTP请求 71

4.1.2将适当的网址返回浏览器 71

4.1.3默认网址路由 71

4.2HTTP请求的URL如何对应网址路由 73

4.2.1网址路由范例 73

4.2.2为网址路由加上限制条件 75

4.3网址路由如何在ASPNET MVC中生成网址 76

4.4ASPNET MVC的执行生命周期 81

4.4.1网址路由比对 81

4.4.2执行Controller和Action 83

4.4.3执行View并返回结果 86

总结 87

第5章用Model创建数据模型 88

5.1Model的任务 89

5.2创建基础数据模型 89

5.2.1用LINQ to SQL自动创建数据模型 90

5.2.2用EntiryFramework自动创建数据模型 93

5.2.3手动创建数据模型 98

5.3扩充基础数据模型 99

5.3.1定义Model的Metadata 100

5.3.2自定义Metadata验证属性 104

5.4实现库模式 104

总结 106

第6章剖析Controller的相关技术 107

6.1Controller的责任 108

6.2Controller的类与方法 108

6.3Controller的执行过程 109

6.4动作名称选取器 111

6.5动作方法选取器 112

6.5.1NonAction属性 113

6.5.2HttpGet属性、HttpPost属性、HttpDelete属性和HttpPut属性 113

6.6ActionResult类 114

6.6.1ViewResult类 115

6.6.2PartialViewResult类 117

6.6.3EmptyResult类 117

6.6.4ContentResult类 118

6.6.5FileResult类 119

6.6.6强制下载文件时需注意中文文件名的问题 122

6.6.7JavaScriptResult类 124

6.6.8JsonResult类 124

6.6.9RedirectResult类 126

6.6.10 RedirectToRoute类 126

6.7ViewData与TempData概述 128

6.7.1ViewData 128

6.7.2TempData 129

6.8模型绑定 131

6.8.1简单模型绑定 131

6.8.2使用FormCollection类获取窗口数据 132

6.8.3复杂模型绑定 132

6.8.4多个复杂模型的绑定 134

6.8.5判断模型绑定的结果 136

6.8.6使用Bind属性限制可被更新的Model属性 138

6.9动作过滤器 141

6.9.1授权过滤器属性 142

6.9.2动作过滤器属性 145

6.9.3结果过滤器属性 147

6.9.4异常过滤器属性 149

6.9.5自定义动作过滤器属性 150

总结 152

第7章View的相关技术 153

7.1View的责任 154

7.2不要用ASP的观念来编写ASPNET MVC程序 154

7.3View如何从Action中获取数据 154

7.3.1如何正确分配View 155

7.3.2使用弱类型模型获取数据 156

7.3.3使用强类型模型获取数据 157

7.4HTML辅助方法 158

7.4.1如何使用HTML辅助方法 158

7.4.2HTML辅助方法的应用实例 160

7.4.3强类型辅助方法 165

7.4.4Dynamic Data对ASR.NET MVC的支持 166

7.4.5URL辅助方法 167

7.4.6Ajax辅助方法 169

7.4.7自定义HTML辅助方法 170

7.4.8TagBuilder类详解 173

7.5MasterPage模板 176

7.6部分视图 178

7.6.1什么是部分视图 178

7.6.2如何创建一个部分视图 179

7.6.3如何调用部分视图 180

7.6.4部分视图的高级应用 181

7.6.5用RenderAction()方法加载部分视图 184

总结 185

第8章Area的相关技术 186

8.1何时需要使用Area切割网站 187

8.2如何在现有项目中新建Area 188

8.3如何设定Area的网址路由 189

8.4默认路由与Area路由的优先级 190

8.5就算使用Area, Controller的名称还是有冲突的 190

8.6如何指定默认网站与Area网站的连接 191

总结 192

第3篇开发实践篇 194

第9章MvcGuestbook高级实战 194

9.1分析需求与创建网站雏形 195

9.1.1规划数据库结构 195

9.1.2创建基础数据模型 196

9.1.3规划网站功能 196

9.1.4设计Controller与Action 197

9.1.5创建基础页面 200

9.2实现会员机制 201

9.2.1会员注册机制 201

9.2.2会员登录/注销功能 212

9.3实现留言机制 219

9.3.1编写留言列表 219

9.3.2新建留言列表页面 221

9.3.3为留言列表添加分页功能 222

9.3.4编写会员留言功能 225

9.3.5编写会员留言视图 228

9.3.6编写版主回复功能 228

9.3.7创建版主回复视图 230

9.3.8编写删除留言功能 231

9.4实现动作记录机制 232

9.4.1编写ActionLogAttribute动作过滤器属性 232

9.4.2将属性应用到Action 233

9.5强化Model的结构 233

9.6使用控制反转容器 248

9.6.1ASPNET MVC与Autofac的集成 250

9.6.2ASPNET MVC与Autofac集成的原理 252

9.6.3让Autofac自动解析接口和对应的类 252

9.6.4修正Controller的构造符 255

总结 256

第10章ASPNETMVC开发技巧 257

10.1ASPNETMVC的多语系支持 258

10.2在HTTP响应标题中隐藏ASPNET MVC的版本 261

10.3一起编译Visual Studio和View 262

10.4MvcHtmIString类的开发技巧 265

10.5在MVC与Web Forms之间传递数据 267

10.5.1HTTP GET方法(QueryString集合)和HTTP POST方法 267

10.5.2Session 267

10.6如何调试ASPNET MVC源代码 268

10.6.1使用.NET Framework源代码逐步调试功能 268

10.6.2下载ASPNET MVC源代码并添加项目参考 273

10.7使用Visual Studio程序模板进行快速开发 279

10.7.1如何使用程序模板快速生成View 279

10.7.2如何将内置的程序模板添加到项目中 280

10.7.3如何修改内置的AddController程序模板并自动生成程序代码 283

10.7.4如何新建自定义的AddView程序模板并自动生成程序代码 284

10.7.5深入T4程序生成器 287

总结 287

第11章安装部署 288

11.1如何将网站部署到本地ⅡS中 289

11.2如何部署远程ⅡS 294

11.3如何用命令提示符手动部署 296

11.4部署ASPNET MVC时常见的问题 299

11.4.1无法加载文件或组件 299

11.4.2部署到ⅡS 6之后看不到网页 300

11.4.3部署到ⅡS 6或ⅡS 7之后都无法使用网站 302

11.5部署ASP.NET 4.0时的注意事项 304

11.5.1安装时的注意事项 304

11.5.2安装正确的.NET Framework包 304

11.5.3应用程序集区不能跨.NET版本设置 305

总结 305

第12章单元测试 306

12.1关于软件测试 307

12.1.1何谓单元测试 307

12.1.2何谓集成测试 308

12.1.3如何区别单元测试与集成测试 309

12.1.4何谓测试驱动开发 309

12.2创建ASPNET MVC的单元测试项目 311

12.2.1单元测试项目的命名规则 311

12.2.2新建项目时自动创建单元测试项目 311

12.2.3通过单元测试向导创建单元测试项目 313

12.2.4在Controller类中创建单元测试项目 315

12.3如何编写ASPNET MVC单元测试 315

12.3.1单元测试的3A模板 316

12.3.2编写Controller单元测试 316

12.3.3在Visual Studio中执行单元测试程序 319

12.3.4查看程序代码涵盖范围 320

12.3.5编写适合进行单元测试的程序代码 323

12.3.6使用Stub假对象完成单元测试 325

12.3.7使用Mock假对象完成单元测试 327

12.3.8编写Routing单元测试 330

总结 332