.NET MVC5简介(一)
就像是.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简介(一)的更多相关文章
- .NET MVC5简介(六)HttpHandler
浏览器到网站程序 上一篇中,介绍IHttpModule的时候,自定义一个类CustomHttpModule继承自IHttpModule,自定义一个事件,并配合配置文件,就可以执行自定义Module中的 ...
- .NET MVC5简介(五)管道处理模型IHttpModule
https://www.cnblogs.com/JimmyZhang/archive/2007/09/04/880967.html IHttpModule HTTPRuntime(运行时).在一个控制 ...
- .NET MVC5简介(四)Filter和AuthorizeAttribute权限验证
在webform中,验证的流程大致如下图: 在AOP中: 在Filter中: AuthorizeAttribute权限验证 登录后有权限控制,有的页面是需要用户登录才能访问的,需要在访问页面增加一个验 ...
- .NET MVC5简介(三)Result
Ajax请求数据响应格式,一个醒目组必须是同意的,前端才知道怎么应付,还有很多其他情况,比如异常了,有ExceptionFilter,按照固定格式返回,比如没有权限,Authorization,按照固 ...
- .NET MVC5简介(二)
MVCApplication---Application_Statr--RegisterRoutes--给RouteCollection添加规则,请求进到网站---X----请求地址被路由按照顺序匹配 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- (0)ASP.NET Core 简单介绍 和开发环境搭建 - ASP.NET从MVC5升级到MVC6
ASP.NET从MVC5升级到MVC6 总目录 ASP.NET Core 首先,ASP原本只是一种技术,这种技术从上个世纪90年代就有了. Active Service Page 和 Java Ser ...
- 解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介
ASP.NET 5简介 ASP.NET 5是一个跨时代的改写,所有的功能和模块都进行了独立拆分,做到了彻底解耦.为了这些改写,微软也是蛮 拼的,几乎把.NET Framwrok全部改写了一遍,形成了一 ...
- MVC5+EF6 入门完整教程九
前一阵子临时有事,这篇文章发布间隔比较长,我们先回顾下之前的内容,每篇文章用一句话总结重点. 文章一 MVC核心概念简介,一个基本MVC项目结构 文章二 通过开发一个最基本的登录界面,介绍了如何从Co ...
随机推荐
- javaWeb核心技术第十三篇之Ajax
Js--ajax--原理解释 概述:异步刷新网页,不会刷新整个页面. Get原理: <%@ page language="java" contentType="te ...
- Java数据类型和自动拆装箱
1.java的数据类型:基本数据类型(8种)和引用数据类型. 基本数据类型: 类型 boolean byte short char int long float double 位 1 8 16 16 ...
- Python 元組 Tuple
元組 Tuple 宣告 元組是用逗號分隔的一列值: >>> t = 'a',1,'b',2,'c',3>>> t('a', 1, 'b', 2, 'c', 3)&g ...
- 剑指offer 27:二叉搜索树与双向链表
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 解题思路 采用中序遍历遍历二叉树,利用二叉排序树的特性,顺次连接节点,形成 ...
- HDFS与YARN HA部署配置文件
core-site.xml <!--Yarn 需要使用 fs.defaultFS 指定NameNode URI --> <property> <name>fs.de ...
- SQL Server清理数据库日志的脚本-干货
USE [master]GOALTER DATABASE AAAAAA SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE AAAAAA SET RECO ...
- Python对Redis增删改查
pip install redis import redis # 连接redis # 几个常用默认参数: # host='localhost', port=6379, db=0, decode_res ...
- MarkDown使用小技巧
写作目的 笔者看完一些MarkDown入门文字后,发现很多文档对一些容易遇到的细微问题缺少解释.本文意欲稍作补充. 目标读者 使用MarkDown仅为了排版出更好看的文章,而不关注技术细节,不懂HTM ...
- Python封装发送信息到钉钉群
发送信息到钉钉群 from dingtalkchatbot.chatbot import DingtalkChatbot class SendText: def __init__(self, webh ...
- mac电脑安装php7
1.安装 homebrew https://www.jianshu.com/p/abea83253671 /usr/bin/ruby -e "$(curl -fsSL https://raw ...