本书采用微软的Visual Studio 2012开发平台,以项目导入的方式,围绕ASP.NET MVC的关键技术展开以实际应用为主线的讲解,主要内容包括ASP.NET MVC概述、初识ASP.NET MVC项目开发、数据模型、控制器、视图、数据验证、网址路由等,后提供一个完整的开发实例——电子商务网站。学习本书,读者可以快速上手ASP.NET MVC,了解ASP.NET MVC项目开发的流程,掌握ASP.NET MVC的核心观念与技术。
本书结构合理,为每个知识点精心设计了项目案例。本书适合作为高等职业院校软件技术专业、计算机网络技术专业的必修教材,也适用于ASP.NET MVC的初学者。
ASP.NET MVC是在现有的ASP.NET框架基础上提供的一个新的MVC框架。利用ASP.NET MVC,.NET开发人员可以用MVC模式构建Web应用,做到清晰的概念分离(UI或者视图与业务应用逻辑分离, 应用逻辑和后端数据分离),同时还可以使用测试驱动开发。ASP.NET MVC已经成为.NET开发人员必须掌握的关键技术之一。
本书不仅包含了ASP.NET MVC的各种概念和理论知识,还通过项目案例对ASP.NET MVC的综合运用进行了详细讲解。知识系统连贯,逻辑性强;内容安排承上启下,循序渐进地讲述ASP.NET MVC的每一部分。
本书共8章,内容包括:
第1章 ASP.NET MVC概述,介绍ASP.NET MVC的基础知识,帮助大家了解ASP.NET MVC的概念,并介绍ASP.NET MVC应用程序开发环境的配置。
第2章 初识ASP.NET MVC项目开发,详细介绍如何使用Visual Studio 2012创建一个ASP.NET MVC项目,并介绍ASP.NET MVC项目有哪些基本的目录结构以及ASP.NET MVC项目中核心模块的创建和作用。
第3章 数据模型,本章主要介绍了ASP.NET MVC项目开发中Model(数据模型)这一部分的创建和使用。首先介绍了数据模型在ASP.NET MVC项目中的作用,然后分别介绍了基于LINQ to SQL的数据模型的创建和基于Entity Framework的数据模型的创建,重点讲解了Entity Framework数据模型的使用。
第4章 控制器,本章主要讲述Controller如何响应用户的HTTP请求并将处理的信息返回给客户端,包括各动作过滤器。
第5章 视图,本章主要展示了视图View是如何显示用户界面的以及对View进行控制的相关技术。
第6章 数据验证,本章详细介绍了如何实现对用户输入数据进行有效性验证的技术,包括数据验证原理、验证属性的使用、自定义验证。
第7章 网址路由,本章介绍了网址路由的概念、如何定义路由、路由的实现、路由常见用法、自定义路由的实现,学习如何在Web项目中使用网址路由。
第8章 ASP.NET MVC开发实战——电子商务网站,本章通过实例讲解了MVC电子商务网站的开发过程,了解如何进行MVC网站的规划与架构,重点讲解了设计思路和主要的知识点,其中包括前台信息处理和后台管理程序的制作方法以及Models、Views和Controllers的设计方法。
本书提供了各章相应内容的源代码,读者可通过http://www.tdpress.com/51eds网站下载。
本书由张松慧、鲁立任主编,张恒、常排排任副主编,梁晓娅、陈丹、董宁、何水艳、李志刚、陈娜、付宇参与本书的编写工作。
限于编者的水平,本书难免存在不妥或疏漏之处,恳请读者批评指正。读者如发现错误,恳请百忙之中及时与编者联系(Email:1150869523@qq.com),以便尽快更正,编者将不胜感激。
编 者
2018年4月于武汉
张松慧,副教授,信息系统项目管理师,武汉软件职业技术学院教师。
鲁立,教授、高级工程师,武汉市学科带头人,湖北省品牌专业负责人,武汉市品牌专业负责人,武汉软件职业技术学院教师。
第1章 ASP.NET MVC概述 1
1.1 ASP.NET MVC简介 1
1.1.1 何为MVC 1
1.1.2 初探MVC架构 2
1.1.3 为什么采用ASP.NET MVC 3
1.1.4 ASP.NET MVC发展现状 4
1.2 ASP.NET MVC模式下的Web项目开发 6
1.2.1 搭建开发环境 6
1.2.2 创建ASP.NET MVC应用程序 7
1.2.3 ASP.NET MVC应用程序的结构 9
1.2.4 ASP.NET MVC的约定 10
本章小结 11
习题 11
第2章 初识ASP.NET MVC项目开发 12
2.1 创建ASP.NET MVC项目——留言板 12
2.1.1 利用项目模板创建ASP.NET MVC项目 12
2.1.2 创建数据模型 13
2.1.3 创建控制器、动作与视图 15
2.1.4 测试留言板项目 18
2.2 查看数据库属性 20
2.3 了解自动生成的程序代码 22
本章小结 28
习题 29
第3章 数据模型 33
3.1 数据模型概述 34
3.1.1 基于LINQ to SQL的数据模型 34
3.1.2 基于Entity Framework的数据模型 37
3.1.3 自定义数据模型 38
3.1.4 数据库开发模式 39
3.2 ASP.NET MVC项目数据模型的选择与使用 39
3.2.1 创建基于Entity Framework的数据模型 41
3.2.2 基于Entity Framework数据模型的数据查询 43
3.2.3 基于Entity Framework数据模型的数据更新 46
3.2.4 基于Entity Framework数据模型的数据添加与删除 47
本章小结 48
习题 48
第4章 控制器 51
4.1 控制器概述 51
4.1.1 Controller的创建与结构 52
4.1.2 Controller的运行过程 54
4.2 动作名称选择器 55
4.3 动作方法选择器 56
4.3.1 NonAction属性 56
4.3.2 HttpGet属性、HttpPost属性、HttpDelete属性和HttpPut属性 57
4.4 过滤器属性 59
4.4.1 授权过滤器 60
4.4.2 动作过滤器 64
4.4.3 结果过滤器 67
4.4.4 异常过滤器 68
4.4.5 自定义动作过滤器 69
4.5 动作执行结果 72
4.5.1 常用的动作执行结果类 72
4.5.2 ViewData与TempData 76
本章小结 76
习题 77
第5章 视图 89
5.1 视图概述 90
5.1.1 视图的作用 90
5.1.2 视图的基础知识 90
5.2 理解视图的约定 95
5.2.1 隐式约定 95
5.2.2 重写约定 95
5.3 强类型视图 96
5.3.1 ViewBag的不足 96
5.3.2 理解ViewBag、ViewData和ViewDataDictionary 97
5.4 添加视图 98
5.5 Razor视图引擎 99
5.5.1 Razor的概念 99
5.5.2 代码表达式 99
5.5.3 HTML编码 99
5.5.4 代码块 100
5.5.5 Razor语法基础 100
5.5.6 布局 101
5.5.7 ViewStart 102
5.6 指定部分视图 102
5.7 案例:创建登录模块 103
本章小结 106
习题 106
第6章 数据验证 107
6.1 数据验证概述 108
6.1.1 验证注解 108
6.1.2 原理介绍 110
6.2 验证属性的使用 111
6.2.1 添加验证属性 112
6.2.2 常用验证属性 113
6.2.3 自定义错误提示信息及本地化 115
6.3 自定义验证 116
6.3.1 自定义验证属性 116
6.3.2 IValidatableObject 117
本章小结 124
习题 125
第7章 网址路由 126
7.1 网址路由概述 127
7.1.1 路由比对与URL重写 127
7.1.2 定义路由 128
7.1.3 路由命名 129
7.1.4 路由常见用法 131
7.1.5 路由调试 132
7.2 自定义路由 132
7.3 Web窗体与网址路由 136
7.4 常用路由 139
本章小结 140
习题 140
第8章 ASP.NET MVC开发实战——电子商务网站 141
8.1 需求分析 141
8.1.1 需求描述 141
8.1.2 功能需求 142
8.1.3 非功能性需求 143
8.1.4 购物流程 144
8.2 系统设计 144
8.2.1 架构设计 144
8.2.2 功能设计 144
8.3 数据库设计 146
8.3.1 逻辑关系图 147
8.3.2 数据表结构设计 147
8.4 电子商务网站的实现 151
8.4.1 模型的实现 151
8.4.2 控制器的实现 152
8.4.3 视图的实现 155
8.4.4 效果图 156
本章小结 158
习题 158