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)容器,其他两类 单元测试框架和模仿工 ...
随机推荐
- oracle游标循环的嵌套
完成批量修改user_tables中的所有表的栏位名(从MS SQL导入过来,发现大小写问题,造成很多麻烦) 存储过程见下: -- Created on 2012/3/14 by FREE decla ...
- 计算机硬件——pci卡图片
搞IT的还是软硬都要了解的好.1. PCI插槽 2. PCI-E 3. PCI-X 4. mini PCI
- shell 外部传入jmeter脚本线程数,rampUp时间,持续运行时间
jmeter参数化部分参考上一篇 shell参数说明:$1线程数,$2:全部并发数rampup时间,$3:脚本持续运行时间,$4:每次脚本循环持续时间 $5:所以循环持续时间 #!/bin/bash ...
- 第5章 Posix 消息队列
5.1 概述 消息队列可以认为是一个链表.有写权限的线程可往消息队列中放置消息,有读权限的线程可以从消息队列中取走消息. 消息队列和管道/FIFO的区别: (1)消息队列往一个队列中写消息前,并不需要 ...
- plsql如果表和函数等显示不出来
就把用户设为所有用户,所有的东西就会都显示出来了,然后再把用户切换为当前用户和My objects,你想看的东西就全部显示出来了.
- Ulipad和有道词典冲突的问题
Ulipad和目前版本的有道词典有冲突,表现为先开有道词典,Ulipad就无法运行. 解决方法是:找到Ulipad安装目录下的config.ini,添加以下两行: [server] port=50 ...
- JAVA中的定时调度(Timer和TimerTask)
某些时候我们需要定时去完成一些任务,这里举一个例子:我们需要在3秒钟后打印当前系统时间,此后每隔5秒重复此操作.代码如下: import java.util.TimerTask; import jav ...
- easyui tabs内容panel自适应窗体宽度方法
废话不说,直接上代码: $('#Teacherwin_details').window({ title: '查看教职工信息', width: 800, height: 520, top: ($(win ...
- (转)Java DES 与Base64
原文地址http://blog.csdn.net/tomatozq/article/details/20773559 1,DES /** * 解密 * @param message * @param ...
- X230上安装Yosemite/Win7-黑苹果之路
以前曾经在X230上安装了mavericks,但因为无线网卡问题最终作罢,现在换了SSD(128G).AR9285网卡,又冲刺了一把OSX,折腾了好几天,终于成了.特做记录如下: 首先,硬盘分区问题, ...