ASP.NET MVC5 入门
参考资料《ASP.NET MVC5 高级编程》第5版
第1章 入门
1.1 ASP.NET MVC 简介
ASP.NET MVC是一种构建Web 应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET 框架。
在分离应用程序的关注点方面(例如,从显示逻辑中分离出数据访问逻辑),MVC是一种强大而简洁的方式。
MVC 将应用程序的用户界面(User InterFace,UI)分为三个主要部分:
- 模型:一组类,描述了要处理的数据以及修改和操作数据的业务规则。
- 视图:定义应用程序用户界面的显示方式。
- 控制器:一组类用来处理来自用户,整个应用程序流以及特定应用程序逻辑的通信。
在ASP.NET MVC 中,MVC 三个主要部分的定义大致如下:
- 模型:通常封装存储在数据库中的数据,以及操作这些数据和执行特定域业务逻辑的代码。
- 视图:动态生成HTML 页面的模版
- 控制器:一个协调视图与模型之间的特殊类。它响应用户输入,与模型进行对话,并决定呈现哪个视图(如果有的话)。在ASP.NET MVC 中,这个类通常以后缀名Controller 表示。
ASP.NET MVC 的上下文是问题域和宿主系统。
ASP.NET MVC 发展历程
- 2009年3月,ASP.NET MVC 1发布
- 2010年3月,ASP.NET MVC 2发布,新的API功能有:支持将大型应用程序划分为域
- ASP.NET MVC 3的主要特征有:支持Razor 视图,支持.NET4 数据注解,支持全局操作过滤器(Global Action Filter)
1.1.1 ASP.NET MVC4 概述
设计ASP.NET MVC的目的是用来创建网站,因此,整个平台的设计目标很明确:响应浏览器的请求,并返回HTML
ASP.NET MVC 4的主要功能包括 Web API
1.Web API 功能:
- 路由: 它按照约定将HTTP 动词映射到控制器操作。这样可以使代码便于阅读,同实鼓励了RESTful 服务设计。
- 模型绑定和验证:与MVC 简化映射输入值(表单域,cookies,URL 参数)到模型值的过程是一样的,Web API 自动把请求值映射到模型。绑定系统具有的良好的扩展性。
- 过滤器:向操作添加行为。
- 基架:可以快速添加一个基于实体类框架模型的Web API 控制器。
- 简单的单无测试:这一点与MVC 很像,Web API 建立在依赖注入和避免全局状态使用的概念之上。
一些新的概念和模型:
- HTTP 编程模型:提供了一个强类型的HTTP 对象模型、HTTP 状态码和容易访问的Headers 等。
- 基于HTTP 动词的动作调度
- 内容协商
- 基于代码的配置
2.显示模式
显示根据浏览器发出的请求,使用约定的方法来选择不同的视图
3.捆绑代码和微小框架
通过合并脚本引用将若干个请求合并成一个请求,从而减少发送到站点的请求数量。
同时也采取各种技术来压缩包大小,比如缩短变量名、删除空格和注释等
1.2 ASP.NET MVC5 概述
ASP.NET MVC5 主要特性:
- One ASP.NET
- ASP.NET Identity
- 特性路由
- 过滤器:向操作添加行为。
- ASP.NET基架
- 身份证过滤器
- 过滤器重写
参考资料《ASP.NET MVC5 高级编程》
ASP.NET MVC5 入门的更多相关文章
- Asp.Net MVC5入门学习系列③
原文:Asp.Net MVC5入门学习系列③ 添加一个视图(View) 接着上篇的入门系列,上面解说添加一个简单Controller(控制器),这里我们简单的在来添加一个View(视图)来展示我们Co ...
- Asp.Net MVC5入门学习系列②
原文:Asp.Net MVC5入门学习系列② 添加一个Controller(控制器) 因为我们用的是Asp.Net MVC,MVC最终还是一套框架,所以我们还是需要遵循它才能玩下去,或者说是更好的利用 ...
- Asp.Net MVC5入门学习系列①
原文:Asp.Net MVC5入门学习系列① 现在直接开始MVC5的学习系列,学习资源来自Micrsoft. 开始使用Asp.Net MVC 5 打开Visual Studio 2013,然后新建一个 ...
- Asp.Net MVC5入门学习系列⑦
原文:Asp.Net MVC5入门学习系列⑦ 接着上篇结尾所说,如果开发中刚才遇到Model需要添加或者减少字段/属性的话,但是刚好你也利用EF的Code frist通过Model生存的数据库,这时改 ...
- Asp.Net MVC5入门学习系列⑤
原文:Asp.Net MVC5入门学习系列⑤ 检查VS生产的编辑方法和编辑窗体 前面我们一步使用强类型,然后创建Controller(控制器)的时候,VS默认已经给我们把CURD都简单的实现了.这篇的 ...
- Asp.Net MVC5入门学习系列⑥
原文:Asp.Net MVC5入门学习系列⑥ 接着上次的篇幅,我们这篇手动来写一个查询的流程代码! 搜索/查询 流程功能的实现 那现在要做搜索(查询)功能我们第一步应该做什么呢!第一次是不是我们应该去 ...
- Asp.Net MVC5入门学习系列④
原文:Asp.Net MVC5入门学习系列④ 添加Model且简单的使用EF 对于EF(EntityFramework)不了解的朋友可以去百度文科或者在园子里搜一些简资源看下,假如和我一样知道EF的概 ...
- ASP.NET MVC5入门1之项目创建
本博文参考ASP.NET MVC5入门指南,下载链接: ASP.NET_MVC5_入门指南 1.创建项目 文件 --> 新建 --> 项目 Visual C# --> Web --& ...
- ASP.NET + MVC5 入门完整教程八 -—-- 一个完整的应用程序(上)
https://blog.csdn.net/qq_21419015/article/details/80509513 SportsStore 1.开始创建Visual Studio 解决方案和项目这里 ...
- ASP.NET + MVC5 入门完整教程七 -—-- MVC基本工具(上)
https://blog.csdn.net/qq_21419015/article/details/80474956 这里主要介绍三类工具之一的 依赖项注入(DI)容器,其他两类 单元测试框架和模仿工 ...
随机推荐
- IntelliJ IDEA 注册码
IntelliJ IDEA 注册码 *.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀 请搭建自己的IntelliJ IDEA授权服务器,教程在http ...
- 97、进入ScrollView根布局页面,直接跳到页面底部,不能显示顶部内容
API使用:http://www.cnblogs.com/over140/archive/2011/01/27/1945964.html 以ScrollView为根的部局,不能从顶部显示其包含的页面内 ...
- Delphi 中 paramstr 的用法及参数意义
原型 function paramstr(i:index):string 对于任何application paramstr(0)都默认代表的是应用程序的绝对路径.那 ...
- 用HTML代码加载Unity内容(unity频道:http://unity3d.9ria.com/)
Unity内容在浏览器通过Unity网络播放器插件加载.HTML代码与这个插件通常不直接通信,而是通过UnityObject的脚本帮助.其主要任务是Unity的内容嵌入一个非常简单的任务,通过从各种浏 ...
- Node.js解析Excel
1.使用node-xlsx包 var xlsx = require('node-xlsx'); 只支持xlsx格式 2.解析的Excel文件格式如下: 3.程序如下: var obj = xlsx.p ...
- Android--输入自动提示AutoCompleteTextView
布局文件: <TextView android:id="@+id/title" android:layout_width="wrap_content" a ...
- 《Code Complete》ch.26 代码调整技术
WHAT? 提高代码运行速度的方法,减少代码的资源占用 WHY? 这里提出的都是“可以尝试的”方法,有的或许在你的环境根本不起作用,有的则能实实在在产生很好的效果 HOW? Logic - 逻辑 在知 ...
- 如何搭建maya plugin develop environment on MAC OS X
1.首先我使用的平台是xcode version 5.1.1 ,MAYA2015, MAX OS X 10.9.4. MAYA2015要求的是:Mountain Lion 10.8.5, Xcode ...
- (续篇3):飞测独家のJmeter秘籍,限量发放
好东西,分享大家,自上次分享出来fiddler导出jmx格式V4.0版本对外公开后,收到一些反馈,我们利用工作之余时间继续优化,现在一个比较稳定的版本出炉,分享给大伙,我们一起来看看. 特性说明: 版 ...
- Quick Sort(快排)
这是挖坑填补法的演示 快排之挖坑填补法: void Quick(int top/*起始位置*/,int end/*末尾位置*/,int arr[])//挖坑填补法 { int i=top,j=end, ...