ASP.NET   MVC :UI层框架

让我们的web开发又回到了本质:请求,处理,响应

MVC本身是一种思想,将程序分成三个模块

Model:模型  广义的说法(包含DAL  BLL  MODEL)

View:视图    展示结果

Controller:控制器

MVC的思想是可以跨平台的,在很多的平台上都是实现了自己的MVC框架,JAVA平台上有一个Struts  ,Spring  MVC

程序员和美工的职责:将数据的获取和数据的展示分离

MVC的开发步骤:

  1. 创建控制器(在Controler文件夹下添加控制器)

约定:

控制器其实就是一个class,但需要满足三个条件:

  1. 命名规范,所有的控制器必须以Controller结尾
  2. 所有的控制器类必须实现IController接口(继承关系,控制器类---àController---àControllerBase-àIController接口
  3. 必须是非静态类

[注解]:一个控制器中可以包含多个方法。

  1. 设计控制器中具体的Action方法(处理请求)
  2. 为Action方法处理后添加视图

视图名称的约定:

视图名称和对应的Action方法的名称一样。

MVC的访问地址:

Http://localhost:端口号/控制器的名字/Action方法的名字/参数    (逻辑地址)

在MVC中第一次引入了路由组件,进行了URL地址的拆分。路由规则可以由开发人员重新定义,即可以进行URL地址的重写。

Model的职责:负责业务处理

控制器中Action方法的职责:

  1. 接收用户请求
  2. 调用业务方法,获取业务处理结果
  3. 将处理后的数据指定视图展示并向视图传递

控制器中如何获取请求的参数?

方法一:直接通过Request对象获取。

方法二:在Action方法中设置一个FormCollection类型的参数接收请求数据。(只能接收表单post提交的参数)

方法三:直接在Action方法中设置和提交的参数名(name属性)一致的参数,MVC的底层会完成参数的自动装配。

【注】

每个控制器都对应在Views文件夹下有一个和控制器同名的子文件夹,在该文件夹下存放某个控制器对应的所有视图文件。

控制器中可以通过view(“视图名称”)来指定具体的视图,如果不指定则默认找和Action方法同名的视图。

Views文件夹下还有一个Shared文件夹,该文件夹专门定义所有控制器公共的视图(例如:处理错误页面。)

视图必须通过控制器才能访问,不能通过在浏览器中输入某个视图的URL地址直接访问。

控制器如何向指定视图展示数据?

控制器和视图直接有数据传输通道:

ViewData视图容器  key  value

浅谈MVC基础的更多相关文章

  1. 浅谈 MVC 和 MTV

    浅谈 MVC 和 MTV 一.MVC M:model,模型,就是数据模型,负责数据的存取: V:view,视图,负责页面的展示逻辑: C:controller,控制器,负责业务逻辑的处理: 二.MTV ...

  2. 开发技术--浅谈python基础知识

    开发|浅谈python基础知识 最近复习一些基础内容,故将Python的基础进行了总结.注意:这篇文章只列出来我觉得重点,并且需要记忆的知识. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对 ...

  3. 浅谈MVC、MVP、MVVM

    MVC M: Model            模型——数据            (对于前台而言例如:ajax.jsonp等从后台获取数据的) V:  View             视图——表现 ...

  4. 浅谈MVC Form认证

    简单的谈一下MVC的Form认证. 在做MVC项目时,用户登录认证需要选用Form认证时,我们该怎么做呢?下面我们来简单给大家说一下. 首先说一下步骤 1.用户登录时,如果校验用户名密码通过后,需要调 ...

  5. 浅谈MVC

    一.MVC的产生之源 MVC是Model.View.Controller这三个英文单词的缩写,从这三个单词的含义中我们可以看出MVC的核心是什么?显而易见,Model指的是模型,在某些地方你也可以理解 ...

  6. 浅谈MVC中的service层(转)

    概述 mvc框架由model,view,controller组成,执行流程一般是:在controller访问model获取数据,通过view渲染页面. mvc模式是web开发中的基础模式,采用的是分层 ...

  7. 以用户注册功能模块为例浅谈MVC架构下的JavaWeb开发流程

    JavaWeb应用开发,撇开分布式不谈,只讨论一个功能服务应用的开发,无论是使用原生的Servlet/JSP方案,还是时下的SSM架构,都有一套经过工程实践考验的最佳实践,这综合考虑了团队协作.项目管 ...

  8. 浅谈MVC Razor基本语法

    首先说下MVC,mvc已经不用ViewState来保留网页的状态,所以大部分依赖ViewState的功能都将无法使用, 比如gridview的分页与排序,page trace等利用viewstate记 ...

  9. 浅谈MVC和MVVM模式

    MVC I’m dating with a model… and a view, and a controller. 众所周知,MVC 是开发客户端最经典的设计模式,iOS 开发也不例外,但是 MVC ...

随机推荐

  1. TeamLeader管理方法

    1. 规划 在加强质量的同时,提升团队业务理解能力推动产品经理深入度增加业务监控 2. 洗脑 现在离开去bat,前两年会学习,但可能无人带领待3-5年,做到B类从基金学习起,学习金融学习架构设计提升团 ...

  2. Sum of LCM (lcmsum)

    题目 [题目描述] 对于 $ A_1, A_2, \ldots, A_N $ ,求$\sum_{i = 1}^N \sum_{j = 1}^N \mathrm{lcm}(A_i, A_j)$ 的值. ...

  3. selenium+Node.js在windows下的配置和安装

    转载:http://www.jianshu.com/p/5e64bb70abb8

  4. HiBench学习笔记

    HiBench资源及教程:https://github.com/intel-hadoop/HiBench 介绍: Hadoop新人 环境 linux 该笔记针对英语弱鸡&自己在使用过程用遇到的 ...

  5. [JLOI2010]冠军调查 BZOJ2768 最小割

    题目描述 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门. 新浪体育最近在吉林教育学院进行了一次大规模的调查,调查的内容就是关于切尔西能否在今 ...

  6. 洛谷P2071 座位安排

    题目背景 公元二零一四年四月十七日,小明参加了省赛,在一路上,他遇到了许多问题,请你帮他解决. 题目描述 已知车上有N排座位,有N*2个人参加省赛,每排座位只能坐两人,且每个人都有自己想坐的排数,问最 ...

  7. vue项目中打包编译后,CSS样式【-webkit-box-orient: vertical】打包后丢失问题

    最近在做vue项目的时候页面处理多行文本样式时用到了-webkit-box-orient: vertical这个属性,本地跑项目没问题,但是打包放到服务器后发现这个属性丢失了.如下图: 后来在网上查了 ...

  8. Property 'XXX' not found on type java.lang.String解决方案

    一,标签指令错误. 原指令标签: <%@ taglib prefix="c" uri="http://j ava.sun.com/jstl/core" % ...

  9. 【笔记】MySQL的基础学习

    [笔记]MySQL的基础学习 老男孩 MySQL  一 安装与配置 1 下载安装 官网:http://dev.mysql.com/downloads/mysql/ 下载相应版本的压缩包 解压压缩包至任 ...

  10. 多线程DP (要一起行动才可以)

    题目描述 Description 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): 某人从图的左上角的A 点出发,可以向下行走 ...