就像是.NET Framework WebApi与.NET Core WebApi一样,.NET Framework MVC与.NET Core MVC的区别,也是框架的之间的区别。本系列先首先从.NET Framework MVC介绍,后面再去介绍.NET Core MVC

狭义MVC:

  MVC是web开发框架

  M:Models,数据的传递模型,普通的实体

  V:View,用户看到的视图模型

  C:Controller,决定用户使用哪个视图,还能调用逻辑计算,里面的方法叫Action

广义MVC:

  Model、VIew、Controller

  V:界面

  C:控制,把M和V连接起来

  M:数据和逻辑

  程序的设计模式,一种设计的理念,可以有效的分离界面和业务。

首先,建立一个FirstController,

public class FirstController : Controller
{
public ActionResult Index()
{
return View();
}
}

返回类型还有ViewResultBase、ViewResult、JsonResult、FilePathResult等,其实这些都继承了ActionResult。

WebApi是返回数据的,为啥都不都用MVC算了?其实不管是aspx/ashx/WebApi/MVC,都是使用Http协议的,所以一切的请求都可以实现的。

Aspx:属于比较重的,默认有页面的生命周期---前后端融合,ViewState---跟C/S是一一对应的

ashx:属于轻量级的,没有页面的概念

MVC:前后端分离的,C可以任意指定视图,可以踢桃后台多态UI

WebApi:准人做专事,管道都是独立的;RESTFul,没有action的概念。但是在.NET Core中,二者又融合管道了。

传值的方式:

ViewData字段传值,里面是object,需要类型转换。ViewBag,是dynamic传值,可以随便属性访问,运行时检测。以上二者都是会覆盖的,后者为准。Model。传值,适合复杂数据的传递,强类型。TempData,临时数据,可以跨Action后台传递,存在Session里面,用一次就清理掉。

MasterPage,Layout,默认是_layout,可以自行指定。

Global。asax,全局式。

public class MvcApplication : System.Web.HttpApplication
{
private Logger logger = new Logger(typeof(MvcApplication));
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles); this.logger.Info("网站启动了。。。");
} }

Application_Statr()全局启动时执行,且执行一次,非常适合做初始化,也可以静态构造函数。还可以有很多别的。

dynamic是个动态类型--运行时检测--编译时随便你写
利用委托的,性能比反射高,可以提供便利
弱类型语言的特点,方便做一些特殊处理

.NET MVC5简介(一)的更多相关文章

  1. .NET MVC5简介(六)HttpHandler

    浏览器到网站程序 上一篇中,介绍IHttpModule的时候,自定义一个类CustomHttpModule继承自IHttpModule,自定义一个事件,并配合配置文件,就可以执行自定义Module中的 ...

  2. .NET MVC5简介(五)管道处理模型IHttpModule

    https://www.cnblogs.com/JimmyZhang/archive/2007/09/04/880967.html IHttpModule HTTPRuntime(运行时).在一个控制 ...

  3. .NET MVC5简介(四)Filter和AuthorizeAttribute权限验证

    在webform中,验证的流程大致如下图: 在AOP中: 在Filter中: AuthorizeAttribute权限验证 登录后有权限控制,有的页面是需要用户登录才能访问的,需要在访问页面增加一个验 ...

  4. .NET MVC5简介(三)Result

    Ajax请求数据响应格式,一个醒目组必须是同意的,前端才知道怎么应付,还有很多其他情况,比如异常了,有ExceptionFilter,按照固定格式返回,比如没有权限,Authorization,按照固 ...

  5. .NET MVC5简介(二)

    MVCApplication---Application_Statr--RegisterRoutes--给RouteCollection添加规则,请求进到网站---X----请求地址被路由按照顺序匹配 ...

  6. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  7. (0)ASP.NET Core 简单介绍 和开发环境搭建 - ASP.NET从MVC5升级到MVC6

    ASP.NET从MVC5升级到MVC6 总目录 ASP.NET Core 首先,ASP原本只是一种技术,这种技术从上个世纪90年代就有了. Active Service Page 和 Java Ser ...

  8. 解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介

    ASP.NET 5简介 ASP.NET 5是一个跨时代的改写,所有的功能和模块都进行了独立拆分,做到了彻底解耦.为了这些改写,微软也是蛮 拼的,几乎把.NET Framwrok全部改写了一遍,形成了一 ...

  9. MVC5+EF6 入门完整教程九

    前一阵子临时有事,这篇文章发布间隔比较长,我们先回顾下之前的内容,每篇文章用一句话总结重点. 文章一 MVC核心概念简介,一个基本MVC项目结构 文章二 通过开发一个最基本的登录界面,介绍了如何从Co ...

随机推荐

  1. C#构造函数、属性的应用

    using System; using System.Collections.Generic; using System.Text; namespace test { class Program { ...

  2. latex初步入门:springer llncs

    最近写一篇论文呢,使用到了latex,记录一下吧. 使用的是标准 : springer 的llncs类 核心:使用官方的samplepaper.tex基础上进行修改 这个是最快上手,也是最快能码出一篇 ...

  3. NFS共享储存

    目录 NFS 为什么要使用共享存储 集群没有共享存储的情况 集群有共享存储 NFS的工作原理 NFS部署 1.环境准备 2.关闭防火墙和selinux 3.部署nfs服务端 4.启动rpcbind 5 ...

  4. tomcat修改进程名称

    1.window平台: 打开tomcat_home\bin\setclasspath.bat文件,找到set _RUNJAVA=”%JRE_HOME%\bin\java”这一行. 将该行注释掉 ,然后 ...

  5. Centos下,Docker部署Yapi接口管理平台

    前言介绍 Yapi 由 YMFE 开源,旨在为开发.产品.测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建.发布.维护 API. 项目地址:https://github.com/YMFE/ya ...

  6. Octave中的矩阵常用操作2

    sum(a):矩阵里的数据求和prod(a):乘积floor(a):向上取整ceil(a):向下取整max(A,[],1):取每一列的最大值max(A,[],2):取每一行的最大值max(max(A) ...

  7. (办公)访问其他系统接口httpClient,异步访问

    访问其他系统接口httpClient,但是都是同步的,同步意味当前线程是阻塞的,只有本次请求完成后才能进行下一次请求;异步意味着所有的请求可以同时塞入缓冲区,不阻塞当前的线程; httpClient请 ...

  8. requests---requests上传图片

    我们在做接口测试的时候肯定会遇到一些上传图片,然后进行校验,今天我们一起学习通过requests上传图片,查看是否上传成功 抓取上传接口 这里我以百度为例子进行操作,为啥要用百度呢,主要上传文件比较简 ...

  9. Linux下查看哪些进程占用的CPU、内存资源

    1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps a ...

  10. 201871010116-祁英红《面向对象程序设计(java)》第十五周学习总结

    博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://ww ...