MVC体系结构将应用程序分成三个主要组件:模型(Model)、视图(View)、和控制器(Controller)。在ASP.NET MVC应用程序中,数据操控的逻辑包含在Models文件夹下,数据的展示逻辑包含在Views文件夹下,处理用户请求和输入的逻辑包含在Controller文件夹下。

1、模型

模型对象是实现应用程序数据域逻辑的应用程序部件,一般检索模型状态并将其存储在数据库中。例如,Student对象从数据库中检索和操作该信息,然后将更新的信息写到数据库的Student表中。

2、视图

视图是显示应用程序用户界面的组件。此时UI一半是用模型数据创建的。例如,文本框等编辑界面。

3、控制器

控制器是处理用户交互的组件。

优点:

1,任务分离;2对HTML的操控能力更高;3,基于测试驱动的开发,即创建mvc应用程序时可以同时创建测试应用。

应用程序的结构

文件夹名称 说明
App_Data 保存SQL Server Express 数据库文件
Content 存储静态文件,如级联样式表文件、主题、图像等
Controllers 存储控制器代码。注意MVC框架要求所有控制器名以“Controller”结尾,如LoginController
Models 为MVC应用程序模型的类提供的文件夹。
Scripts 存储脚本文件。默认情况下,此文件夹包含ASP.NET AJAX基础文件和jQuery库。
Views 存储视图文件。在Views文件夹中,每个控制器都有一个文件夹,文件夹以控制器名称前缀命名。例如,控制器名为LoginController,则在Views文件夹包含名为Login的文件夹。
Views/Shared 默认情况下,Views文件夹中也有一个名为Shared文件夹。该文件夹不与任何控制器相对应。它用于存储多个控制器之间共享的视图。例如母版页

Global.asax文件,它的代码是来设置全局URL路由默认值,并且用Web.config文件来配置应用程序。

MVC Web项目执行阶段

接收对应用程序的第一个请求(在Global.asax文件中,设置Route对象)     ——>     执行路由     ——>

创建MVC请求处理程序   ——>  创建控制器  ——>      执行控制器  ——>    调用操作  ——>    执行结果

MVC-基础01的更多相关文章

  1. ASP.NET MVC 基础(01)

    [ASP.NET MVC ]系列文章大致会包含这样一些内容: 1.ASP.NET MVC 的一些高级知识点: 2.ASP.NET MVC 的一些最新技术: 3.ASP.NET MVC 网站安全方面的知 ...

  2. 4-2 Spring MVC框架-01

    Spring MVC框架-01 Ⅰ.接收客户端请求 1. 关于Spring MVC框架 Spring MVC是基于Spring框架基础之上的 作用: 接收请求,响应结果,处理异常 主要解决了后端服务器 ...

  3. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

  4. Androd核心基础01

    Androd核心基础01包含的主要内容如下 Android版本简介 Android体系结构 JVM和DVM的区别 常见adb命令操作 Android工程目录结构 点击事件的四种形式 电话拨号器Demo ...

  5. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  6. Linux基础01 学会使用命令帮助

    Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...

  7. Spring MVC基础

    1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层 ...

  8. Spring MVC 基础

    Spring MVC 基础 1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是 ...

  9. ASP.NET MVC基础学习

    ASP.NET MVC基础学习 传统的MVC概念 模型:组类,描述了要处理的数据以及修改和操作数据的业务规则 视图:定义应用程序用户界面的显示方式 控制器:一组类,用来处理来自用户,整个应用程序流以及 ...

  10. 可满足性模块理论(SMT)基础 - 01 - 自动机和斯皮尔伯格算术

    可满足性模块理论(SMT)基础 - 01 - 自动机和斯皮尔伯格算术 前言 如果,我们只给出一个数学问题的(比如一道数独题)约束条件,是否有程序可以自动求出一个解? 可满足性模理论(SMT - Sat ...

随机推荐

  1. 使用 NLTK 对文本进行清洗,索引工具

    使用 NLTK 对文本进行清洗,索引工具 EN_WHITELIST = '0123456789abcdefghijklmnopqrstuvwxyz ' # space is included in w ...

  2. 使用Python创建自己的Instagram滤镜

    不知道你有没有使用过Instagram滤镜,它们非常方便,只需单击几个按钮,就可以变换我要发布的照片​​. 你是否想过自己可以创建一个?答案是可以的! 在本文中,我将向你展示如何使用代码和示例图像来创 ...

  3. JVM中内存分配策略及堆和栈的比较

    最近愈发对JVM底层的运行 原理产生了兴趣,遂查阅相关资料以备忘. 内存分配策略 根据编译原理的观点,程序运行时的内存分配,有三种策略,分别为静态的.堆式的.栈式的. 静态存储分配指的是在编译时就能确 ...

  4. [POI2014][树形DP]FarmCraft

    题目 In a village called Byteville, there are houses connected with N-1 roads. For each pair of houses ...

  5. RocketMQ调研

    一.发展历程 早期淘宝内部有两套消息中间件系统:Notify和Napoli. 先有的Notify(至今12历史),后来因有序场景需求,且恰好当时Kafka开源(2011年),所以参照Kafka的设计理 ...

  6. Lisp-01: 相关开发环境配置部署

    Common Lisp 学习笔记系列01 要学一门编程语言,首先需要将语言的环境配置好.如果想要个直接上手的环境,感谢日本的大神 Shirakumo,打造了一个 Common Lisp 的 IDE - ...

  7. python中的列表和元组都有哪些区别

    列表(list)和元组(tuple)的一些基础 list和tuple都是一个可以放置任意数据类型的有序集合,都是既可以存放数字.字符串.对象等 list和tuple都支持负索引 In [8]: num ...

  8. SWUST OJ 1012哈希表(链地址法处理冲突)

    哈希表(链地址法处理冲突) 1000(ms) 10000(kb) 2676 / 6911 采用除留余数法(H(key)=key %n)建立长度为n的哈希表,处理冲突用链地址法.建立链表的时候采用尾插法 ...

  9. Oracle数据库表和表列讲解

    如果将数据库比作一个存储东西的储物柜,表就像是储物柜上的各个抽屉,每个抽屉分门别类地存放了各种数据,在设计和规划数据库时,表的定义和规划往往相当重要,良好的表设计决定了程序人员编写程序的便利性与数据库 ...

  10. javascript中常见的表单验证项

    1.不能超过20个字符 <body> <form name=a onsubmit="return test()"> <textarea name=&q ...