内容简介
第1部分 基础观念篇
第1章 在学习ASP.NET MVC之前
1.1何谓MVC
1.1.1何谓Model
1.1.2何谓View
1.1.3何谓Controller
1.2初探MVC架构
1.2.1彼此的关联性
1.2.2 Controller与View的关联性
1.2.3 View与Model的关联性
1.2.4 Model与Controller的关联性
1.3彼此的独立性
1.3.1 Controller与View之间的独立性
1.3.2 View与Model之间的独立性
1.3.3 Model与Controller之间的独立性
1.4为什么要ASP.NET MVC
1.4.1关注点分离与可维护性
1.4.2开放特性与社群支持
1.4.3开发工具与效率
1.4.4易于测试的架构
1.4.5易于分工的架构
1.5总结
第2章 创建正确的开发观念
2.1关注点分离
2.2以习惯替换配置
2.2.1 Controller
2.2.2 View
2.2.3 Model
2.3开发ASP.NET MVC项目时的建议
2.4 ASP.NET MVC常见问题
2.5总结
第3章 新手上路初体验
3.1认识Visual Studio 2012开发工具
3.2介绍NuGet套件管理员
3.2.1遭遇问题
3.2.2使用方法
3.2.3开启程序包管理器控制台(Package Manager Console)
3.2.4启用NuGet套件还原
3.3创建第一个ASP.NET MVC专案
3.3.1利用ASP.NET MVC 4项目模板创建项目
3.3.2创建数据模型
3.3.3创建控制器、动作与检视
3.3.4测试当前创建好的留言板网页
3.3.5查看数据库属性
3.3.6了解自动生成的程序代码
3.3.7调整前台让用户留言的版面
3.4学习MVC的注意事项
3.4.1了解不同的项目类型
3.4.2初学者常犯的错误
3.4.3 小、心使用Request与Response对象
3.4.4不要在检视中撰写过多的程序逻辑
3.5总结
第2篇 技术讲解篇
第4章 Routing与ASP.NET MVC生命周期
4.1 Routing——网址路由
4.1.1比对通过浏览器传来的HTTP要求
4.1.2响应适当的网址给浏览器
4.1.3默认网址路由属性解说
4.2 HTTP要求的URL如何对应网址路由
4.2.1网址路由演示
4.2.2替网址路由加上路由值的条件约束
4.3网址路由如何在ASP.NETMVC中生成网址
4.4 ASP.NET MVC的运行生命周期
4.4.1网址路由比对
4.4.2运行Controller与Action
4.4.3运行View并回传结果
4.5总结
第5章 Model相关技术
5.1关于Model的责任
5.2开发Model的基本观念
5.2.1何谓ORM
5.2.2数据库开发模式
5.3 LocalDB介绍
5.3.1 LocalDB的运作方式
5.3.2如何连接LocalDB实例
5.3.3管理LocalDB自动实例
5.3.4管理LocalDB具名实例
5.4使用Code First创建数据模型
5.4.1创建数据模型
5.4.2创建数据上下文类
5.4.3设计模型之间的关联性
5.4.4启用延迟装入特性
5.5使用Code First数据库迁移
5.5.1 EF Code First如何记录版本
5.5.2启用数据库迁移
5.5.3运行数据库迁移
5.5.4自定义数据库迁移规则
5.5.5自动数据库迁移
5.5.6如何避免数据库被自动创建或自动迁移
5.6使用ViewModel数据检视模型
5.7扩充数据模型
5.7.1定义数据模型的Metadata
5.7.2自定义Metadata验证属性
5.7.3 ASP.NET MVC 3新增的验证属性
5.7.4 Entity Framework新增的验证属性
5.7.5 .NET 4.5新增的验证属性
5.8总结
第6章 Controller相关技术
6.1关于Controller的责任
6.2 Controller的类别与方法
6.3 Controller的运行过程
6.3.1找不到Action时的处理方式
6.3.2动作名称选定器
6.4动作方法选定器
6.4.1 NonAction属性
6.4.2 HTTP动词限定属性
6.5 ActionResult解说
6.5.1 ViewResult
6.5.2 PartialViewResult
6.5.3 EmptyResult
6.5.4 ContentResult
6.5.5 FileResult
6.5.6 JavaScriptResult
6.5.7 JsonResult
6.5.8 RedirectResult
6.5.9 RedirectToRoute
6.5.10 HttpStatusCodeResult
6.5.11 HttpNotFoundResult
6.5.12 HttpUnauthorizedResult-
6.6 ViewData、ViewBag与TempData概述
6.6.1 ViewData
6.6.2 ViewData.Model
6.6.3 ViewBag
6.6.4 TempData
6.7模型绑定
6.7.1简单模型绑定
6.7.2使用FormCollection取得窗体信息
6.7.3复杂模型绑定
6.7.4多个复杂模型绑定
6.7.5判断模型绑定的验证结果
6.7.6模型绑定验证失败的错误详细信息
6.7.7清空模型绑定状态
6.7.8使用Bind属性限制可被更新的数据模型属性
6.7.9使用UpdateModel与TryUpdateModel
6.8动作过滤器
6.8.1授权过滤器属性
6.8.2动作过滤器属性
6.8.3结果过滤器属性
6.8.4例外过滤器属性
6.8.5自定义动作过滤器属性
6.9总结
第7章 View数据呈现相关技术
7.1关于View的责任
7.2了解Razor语法
7.2.1 Razor基本语法
7.2.2 Razor与HTML 混合输出
7.2.3 Razor与HTML 混合输出陷阱与技巧
7.2.4 Razor与ASPX语法比较
7.2.5 Razor的主版页面框架
7.2.6@helper辅助方法
7.2.7@functions自定义函数
7.2.8@model引用参考资料型别
7.2.9@using引用命名空间
7.3 View如何从Action取得数据
7.3.1使用弱型别模型取得数据
7.3.2使用强型别模型取得数据
7.4 HTML辅助方法
7.4.1使用HTML辅助方法输出超链接
7.4.2使用HTML辅助方法输出表单
7.4.3使用HTML辅助方法载入分部视图
7.4.4使用检视模板输出内容
7.4.5自定义HTML辅助方法
7.5 Url辅助方法
7.6 Ajax辅助方法
7.6.1使用Ajax超链接功能
7.6.2使用Ajax表单功能
7.6.3了解AjaxOptions型别
7.7总结
第8章 Area区域相关技术
8.1何时会需要使用Area切割网站
8.2如何在现有项目中新增区域
8.3如何设置区域的网址路由
8.4默认路由与区域路由的优先级
8.5就算使用区域,控制器的名称仍然会冲突
8.6如何指定默认网站与区域网站的链接
8.7总结
第3篇 开发实战篇
第9章 高级实战:电子商务网站开发
9.1需求分析
9.2数据模型规划
9.2.1商品类别
9.2.2商品信息
9.2.3会员信息
9.2.4购物车项目
9.2.5订单主文件
9.2.6订单明细
9.2.7回顾数据模型定义
9.3控制器架构规划
9.3.1商品浏览
9.3.2会员功能
9.3.3购物车功能
9.3.4订单结账功能
9.3.5回顾控制器架构规划
9.4创建视图页面
9.4.1商品浏览
9.4.2会员功能
9.4.3购物车功能
9.4.4订单结账功能
9.4.5撰写主版页面
9.4.6回顾创建视图页面
9.5添加数据库与购物车功能
9.5.1添加信息内容类
9.5.2添加导览属性
9.5.3启用自动数据库迁移
9.5.4商品浏览
9.5.5会员功能
9.5.6购物车功能
9.5.7订单结账功能
9.5.8回顾添加数据库与购物车功能
9.6强化会员功能
9.6.1修正会员注册机制
9.6.2完成会员E-mail验证功能
9.6.3修正会员登录机制
9.6.4检查会员注册的账户是否重复
9.7强化现有的ASP.NET MVC程序
9.7.1抽离多个Controller重复的程序代码
9.7.2将调试用的程序代码区分不同配置
9.7.3替产品列表加上分页功能
9.8总结
第10章 ASP.NET MVC开发技巧
10.1强化网站安全性:避免网站脚本攻击(XSS)
10.1.1使用Html.Encode辅助方法
10.1.2使用Url.Encode辅助方法
10.1.3使用Ajax.JavaScript StringEncode辅助方法
10.1.4使用AntiForgeryToken辅助方法强化表单安全性
10.2在ASP.NET MVC与ASP.NET Web Form之间传递数据
10.2.1 HTTP GET (Query String)或HTTP POST
10.2.2 Session
10.2.3 Cookie
10.3 ASP.NET MVC的多国语系支持
10.4从HTTP响应标头隐藏ASP.NET MVC版本
10.5使用Visual Studio代码模板快速开发
10.5.1如何使用代码模板快速产生View
10.5.2修改内建的代码模板
10.5.3如何在专案中自定义代码模板
10.5.4深入T4代码产生器技术
10.6让Visual Studio连同View一起进行编译
10.7其他Controller开发技巧
10.7.1侦测用户端要求是否为Ajax
10.7.2限定Action只能通过调用
10.8总结
第11章 安装部署
11.1如何部署到本机的IIS
11.1.1安装IIS功能
11.1.2 “Web一键式发布”功能的使用
11.2如何部署到远程的IIS
11.2.1安装IIS管理服务
11.2.2启用IIS管理服务的远程连接功能
11.2.3安装Web Deploy
11.2.4启用Web Deploy发布
11.2.5设置“Web一键式发布”
11.3如何使用命令提示符手动部署
11.3.1生成部署封装文档
11.3.2手动安装部署网站
11.4部署ASP.NET MVC的常见问题
11.4.1部署到IIS6之后看不到网页
11.4.2部署到IIS6或IIS7之后都无法使用网站
11.5部署ASP.NET 4.0的注意事项
11.5.1安装注意事项
11.5.2安装正确的.NET Framework套件
11.5.3应用程序池不能跨.NET版本
11.6总结