《ASP.NET MVC4开发指南》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:黄保翕编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302324294
  • 页数:451 页
图书介绍:在开始学习ASP.NET MVC之前,我想许多读者心中应该都有许多疑惑,尤其是正宗的ASP.NET Web Form开发者更是对ASP.NET MVC技术给予异样的眼光,甚至是误解,本书主要分成三篇,将以循序渐进的方式带领各位揭开ASP.NET MVC的神秘面纱,导引各位创建正确的观念以及实际体验ASP.NET MVC的强大魅力。

第1部分 基础观念篇 3

第1章 在学习ASP.NET MVC之前 3

1.1何谓MVC 3

1.1.1何谓Model 4

1.1.2何谓View 5

1.1.3何谓Controller 6

1.2初探MVC架构 7

1.2.1彼此的关联性 7

1.2.2 Controller与View的关联性 7

1.2.3 View与Model的关联性 8

1.2.4 Model与Controller的关联性 9

1.3彼此的独立性 9

1.3.1 Controller与View之间的独立性 9

1.3.2 View与Model之间的独立性 9

1.3.3 Model与Controller之间的独立性 10

1.4为什么要ASP.NET MVC 10

1.4.1关注点分离与可维护性 10

1.4.2开放特性与社群支持 10

1.4.3开发工具与效率 13

1.4.4易于测试的架构 13

1.4.5易于分工的架构 14

1.5总结 14

第2章 创建正确的开发观念 15

2.1关注点分离 15

2.2以习惯替换配置 16

2.2.1 Controller 17

2.2.2 View 18

2.2.3 Model 18

2.3开发ASP.NET MVC项目时的建议 19

2.4 ASP.NET MVC常见问题 23

2.5总结 31

第3章 新手上路初体验 33

3.1认识Visual Studio 2012开发工具 33

3.2介绍NuGet套件管理员 40

3.2.1遭遇问题 40

3.2.2使用方法 41

3.2.3开启程序包管理器控制台(Package Manager Console) 43

3.2.4启用NuGet套件还原 45

3.3创建第一个ASP.NET MVC专案 47

3.3.1利用ASP.NET MVC 4项目模板创建项目 48

3.3.2创建数据模型 57

3.3.3创建控制器、动作与检视 59

3.3.4测试当前创建好的留言板网页 62

3.3.5查看数据库属性 66

3.3.6了解自动生成的程序代码 67

3.3.7调整前台让用户留言的版面 85

3.4学习MVC的注意事项 91

3.4.1了解不同的项目类型 91

3.4.2初学者常犯的错误 92

3.4.3 小、心使用Request与Response对象 93

3.4.4不要在检视中撰写过多的程序逻辑 93

3.5总结 93

第2篇 技术讲解篇 99

第4章 Routing与ASP.NET MVC生命周期 99

4.1 Routing——网址路由 99

4.1.1比对通过浏览器传来的HTTP要求 99

4.1.2响应适当的网址给浏览器 100

4.1.3默认网址路由属性解说 101

4.2 HTTP要求的URL如何对应网址路由 104

4.2.1网址路由演示 104

4.2.2替网址路由加上路由值的条件约束 106

4.3网址路由如何在ASP.NETMVC中生成网址 107

4.4 ASP.NET MVC的运行生命周期 113

4.4.1网址路由比对 113

4.4.2运行Controller与Action 115

4.4.3运行View并回传结果 120

4.5总结 120

第5章 Model相关技术 121

5.1关于Model的责任 121

5.2开发Model的基本观念 122

5.2.1何谓ORM 122

5.2.2数据库开发模式 124

5.3 LocalDB介绍 125

5.3.1 LocalDB的运作方式 125

5.3.2如何连接LocalDB实例 128

5.3.3管理LocalDB自动实例 130

5.3.4管理LocalDB具名实例 132

5.4使用Code First创建数据模型 134

5.4.1创建数据模型 134

5.4.2创建数据上下文类 148

5.4.3设计模型之间的关联性 149

5.4.4启用延迟装入特性 154

5.5使用Code First数据库迁移 155

5.5.1 EF Code First如何记录版本 157

5.5.2启用数据库迁移 159

5.5.3运行数据库迁移 163

5.5.4自定义数据库迁移规则 167

5.5.5自动数据库迁移 170

5.5.6如何避免数据库被自动创建或自动迁移 171

5.6使用ViewModel数据检视模型 172

5.7扩充数据模型 172

5.7.1定义数据模型的Metadata 173

5.7.2自定义Metadata验证属性 178

5.7.3 ASP.NET MVC 3新增的验证属性 179

5.7.4 Entity Framework新增的验证属性 179

5.7.5 .NET 4.5新增的验证属性 180

5.8总结 180

第6章 Controller相关技术 181

6.1关于Controller的责任 181

6.2 Controller的类别与方法 181

6.3 Controller的运行过程 182

6.3.1找不到Action时的处理方式 183

6.3.2动作名称选定器 185

6.4动作方法选定器 186

6.4.1 NonAction属性 186

6.4.2 HTTP动词限定属性 187

6.5 ActionResult解说 188

6.5.1 ViewResult 189

6.5.2 PartialViewResult 193

6.5.3 EmptyResult 193

6.5.4 ContentResult 193

6.5.5 FileResult 194

6.5.6 JavaScriptResult 198

6.5.7 JsonResult 199

6.5.8 RedirectResult 201

6.5.9 RedirectToRoute 202

6.5.10 HttpStatusCodeResult 204

6.5.11 HttpNotFoundResult 205

6.5.12 HttpUnauthorizedResult- 205

6.6 ViewData、ViewBag与TempData概述 206

6.6.1 ViewData 206

6.6.2 ViewData.Model 207

6.6.3 ViewBag 209

6.6.4 TempData 210

6.7模型绑定 212

6.7.1简单模型绑定 212

6.7.2使用FormCollection取得窗体信息 214

6.7.3复杂模型绑定 214

6.7.4多个复杂模型绑定 217

6.7.5判断模型绑定的验证结果 220

6.7.6模型绑定验证失败的错误详细信息 222

6.7.7清空模型绑定状态 223

6.7.8使用Bind属性限制可被更新的数据模型属性 224

6.7.9使用UpdateModel与TryUpdateModel 226

6.8动作过滤器 228

6.8.1授权过滤器属性 230

6.8.2动作过滤器属性 234

6.8.3结果过滤器属性 238

6.8.4例外过滤器属性 239

6.8.5自定义动作过滤器属性 242

6.9总结 244

第7章 View数据呈现相关技术 245

7.1关于View的责任 245

7.2了解Razor语法 245

7.2.1 Razor基本语法 246

7.2.2 Razor与HTML 混合输出 247

7.2.3 Razor与HTML 混合输出陷阱与技巧 251

7.2.4 Razor与ASPX语法比较 255

7.2.5 Razor的主版页面框架 258

7.2.6@helper辅助方法 262

7.2.7@functions自定义函数 266

7.2.8@model引用参考资料型别 267

7.2.9@using引用命名空间 267

7.3 View如何从Action取得数据 268

7.3.1使用弱型别模型取得数据 269

7.3.2使用强型别模型取得数据 271

7.4 HTML辅助方法 271

7.4.1使用HTML辅助方法输出超链接 272

7.4.2使用HTML辅助方法输出表单 274

7.4.3使用HTML辅助方法载入分部视图 285

7.4.4使用检视模板输出内容 290

7.4.5自定义HTML辅助方法 304

7.5 Url辅助方法 312

7.6 Ajax辅助方法 313

7.6.1使用Ajax超链接功能 315

7.6.2使用Ajax表单功能 316

7.6.3了解AjaxOptions型别 317

7.7总结 318

第8章 Area区域相关技术 319

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

8.2如何在现有项目中新增区域 321

8.3如何设置区域的网址路由 321

8.4默认路由与区域路由的优先级 323

8.5就算使用区域,控制器的名称仍然会冲突 324

8.6如何指定默认网站与区域网站的链接 325

8.7总结 325

第3篇 开发实战篇 329

第9章 高级实战:电子商务网站开发 329

9.1需求分析 329

9.2数据模型规划 331

9.2.1商品类别 332

9.2.2商品信息 333

9.2.3会员信息 334

9.2.4购物车项目 336

9.2.5订单主文件 337

9.2.6订单明细 338

9.2.7回顾数据模型定义 340

9.3控制器架构规划 340

9.3.1商品浏览 341

9.3.2会员功能 342

9.3.3购物车功能 345

9.3.4订单结账功能 347

9.3.5回顾控制器架构规划 348

9.4创建视图页面 348

9.4.1商品浏览 349

9.4.2会员功能 356

9.4.3购物车功能 362

9.4.4订单结账功能 365

9.4.5撰写主版页面 367

9.4.6回顾创建视图页面 368

9.5添加数据库与购物车功能 369

9.5.1添加信息内容类 369

9.5.2添加导览属性 370

9.5.3启用自动数据库迁移 372

9.5.4商品浏览 372

9.5.5会员功能 375

9.5.6购物车功能 377

9.5.7订单结账功能 379

9.5.8回顾添加数据库与购物车功能 381

9.6强化会员功能 382

9.6.1修正会员注册机制 382

9.6.2完成会员E-mail验证功能 386

9.6.3修正会员登录机制 387

9.6.4检查会员注册的账户是否重复 389

9.7强化现有的ASP.NET MVC程序 390

9.7.1抽离多个Controller重复的程序代码 391

9.7.2将调试用的程序代码区分不同配置 392

9.7.3替产品列表加上分页功能 394

9.8总结 398

第10章 ASP.NET MVC开发技巧 399

10.1强化网站安全性:避免网站脚本攻击(XSS) 399

10.1.1使用Html.Encode辅助方法 399

10.1.2使用Url.Encode辅助方法 400

10.1.3使用Ajax.JavaScript StringEncode辅助方法 400

10.1.4使用AntiForgeryToken辅助方法强化表单安全性 401

10.2在ASP.NET MVC与ASP.NET Web Form之间传递数据 403

10.2.1 HTTP GET (Query String)或HTTP POST 403

10.2.2 Session 403

10.2.3 Cookie 404

10.3 ASP.NET MVC的多国语系支持 404

10.4从HTTP响应标头隐藏ASP.NET MVC版本 409

10.5使用Visual Studio代码模板快速开发 410

10.5.1如何使用代码模板快速产生View 410

10.5.2修改内建的代码模板 411

10.5.3如何在专案中自定义代码模板 412

10.5.4深入T4代码产生器技术 416

10.6让Visual Studio连同View一起进行编译 417

10.7其他Controller开发技巧 420

10.7.1侦测用户端要求是否为Ajax 420

10.7.2限定Action只能通过调用 421

10.8总结 422

第11章 安装部署 423

11.1如何部署到本机的IIS 423

11.1.1安装IIS功能 423

11.1.2 “Web一键式发布”功能的使用 424

11.2如何部署到远程的IIS 430

11.2.1安装IIS管理服务 431

11.2.2启用IIS管理服务的远程连接功能 432

11.2.3安装Web Deploy 434

11.2.4启用Web Deploy发布 436

11.2.5设置“Web一键式发布” 438

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

11.3.1生成部署封装文档 441

11.3.2手动安装部署网站 443

11.4部署ASP.NET MVC的常见问题 444

11.4.1部署到IIS6之后看不到网页 444

11.4.2部署到IIS6或IIS7之后都无法使用网站 447

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

11.5.1安装注意事项 450

11.5.2安装正确的.NET Framework套件 450

11.5.3应用程序池不能跨.NET版本 451

11.6总结 451