一、 MVC架构
1.MVC模式是一种严格实现应用程序各部分隔离的架构模式。
隔离:分离关注点,松耦合
2.模型(Model)
代表着核心的业务逻辑和数据。模型封装了域实体的属性和行为
3.视图(View)
视图负责转换模型并把它传递给表示层,通常指HTML代码。遵循“分离关注点”的原则,视图只关注于如何展示数据,不应该包括任何业务逻辑。
4.控制器(Controller)
控制器控制程序的逻辑,并且充当着视图和模型层之间协调的角色。控制器从视图层接受用户输入的信息,然后使用模型来执行特定的操作,并把最终的结果回传给视图。
5.路由(Routing)
简单来说,ASP.Net路由只是个模式匹配系统。开始时,应用程序使用路由表注册一种或多种模式,告诉路由系统如何处理这些与模式匹配的请求。路由引擎在运行时接收到请求以后,它就会根据事先注册的URL模式匹配当前请求的URL。当路由引擎在路由表里发现匹配的模式时,它就会把请求转发给特定的处理器来处理请求;如果找不到匹配的任何路由,路由引擎就不知道如何处理这个请求,就会返回404状态错误码。

Http Request→路由引擎(Routing Engine)→控制器<->从Model中查询数据

视图引擎
6.使用操作过滤器,用于处理横切关注点(安全,缓存,日志,错误处理)
7.OData:开放数据协议
URI:/api/Auction?$top=3&$orderby=CurrentBid
二、 MVC与WebForm的异同
1. 共享HTTP处理程序和模块
2. MVC不使用视图状态机制(ViewState)
3. WebForm:视图和逻辑紧密耦合,页面(基于文件的URL),状态管理(视图),WebForm语法,服务器控件,母版页,用户控件。
4. MVC:视图和逻辑分离,控制器(基于路由的URL),无自动化的视图管理,自定义语法(默认为Razor),HTML帮助方法,布局,部分视图。
三、 WebApi
1. OData:开放数据协议
URI:/api/Auction?$top=3&$orderby=CurrentBid
2.异常处理
HttpResponseException
Public class CustomExceptionFilter:ExceptionFilterAttribute

MVC 基础知识的更多相关文章

  1. Spring MVC基础知识整理➣拦截器和自定义注解

    概述 Spring MVC中通过注解来对方法或者类进行动态的说明或者标注,类似于配置标识文件的属性信息.当标注的类或者方式被使用时候,通过提取注解信息来达到对类的动态处理.在 MVC中,我们常用的注解 ...

  2. Spring MVC基础知识整理➣环境搭建和Hello World

    概述 Spring MVC属于SpringFrameWork的产品,采用Model-View-Controller进行数据交互,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...

  3. MVC基础知识

    1.View中获取Control和View: //获取控制器名称: ViewContext.RouteData.Values["controller"].ToString(); / ...

  4. Spring MVC基础知识整理➣Spring+SpringMVC+Hibernate整合操作数据库

    概述 Hibernate是一款优秀的ORM框架,能够连接并操作数据库,包括保存和修改数据.Spring MVC是Java的web框架,能够将Hibernate集成进去,完成数据的CRUD.Hibern ...

  5. Spring MVC基础知识整理➣国际化和异常处理

    概述 Spring框架为WEB项目提供了国际化以及异常处理机制.所谓的国际化也就是不同国籍,显示不同国籍的语言与符号.异常处理,也就是能够捕获WEB项目下的所有异常信息,并能处理记录这些异常信息机制. ...

  6. Spring MVC基础知识整理➣数据校验与格式化

    概述 将view中Form的数据提交到后台之后,后台如何验证数据的有效性?在这里Spring MVC提供了相应的Hibernate类包(hibernate-validator-4.3.1.Final. ...

  7. Spring MVC基础知识整理➣View与Controller数据交互

    概述 Spring MVC是由View—Controller—Model组成,其中View和Controller的数据交互,成为了关注的核心点.MVC中,我们将View中的数据传递到Controlle ...

  8. ASP.NET MVC基础知识

    1.MVC项目文件夹说明 App_Data:用来保存数据文件,比如XML文件等: App_Start:包含mvc系统启动的相关类: Controller:存放整个项目“控制器”的代码文件: Model ...

  9. mvc基础知识(1)

    复制大佬的,侵权请联系我主动删除 1.js/css合并 在之前的crud例子中,我们引入js/css脚本的方式和平常的web开发一样 <script src="~/Scripts/jq ...

随机推荐

  1. Incorrect integer value: '' for column 'id' at row 1

    最近在写个查询 插入语句的时候 我是这么写的 insert into test values('',$row[contentid],'".$tn."'); 结果搞死没插入进去  然 ...

  2. PHP 定时任务|Cron

    一.  Crontab 介绍 crontab命令的功能是在一定的时间间隔调度一些命令的执行.在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序.每个用户可以建立自己的调度cro ...

  3. [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySQL+PHP) Part IV

    接下来我们去下载 WorePress 用最新的 3.7.1 下载地址是:http://cn.wordpress.org/wordpress-3.7.1-zh_CN.zip 我们先建立一个文件夹 /va ...

  4. jquery的异步获取返回值为中文时乱码解决方法

    用jqgrid异步获取列表值,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了乱码. 服务器端已经编码过了(UTF-8编码).开始一 ...

  5. 解惑:NFC手机如何轻松读取银行卡信息?

    自支付宝钱包8.0推出了NFC新功能,只要将支持NFC功能的手机靠近公交卡.银行卡等带有芯片的IC卡上,可迅速读取卡内余额.卡的信息,还可以给卡进行充值,非常贴心实用. 但是很多网友表示担忧,要是别人 ...

  6. 使用Linux调用资源库中的Job报错-ERROR: No repository provided, can't load job.

    使用kettle调用资源库中的作业或者是转换,需要注意一下两个问题: 问题一:(-rep后不需要IP)标准shell代码如下 #!/bin/bash export JAVA_HOME=/usr/lib ...

  7. nginx 配置 ThinkPHP Rewrite

    server { listen 80; server_name www.funsion.com; root /www/web/funsion; index index.php; location / ...

  8. 6.24 AppCan移动开发者大会:议程重大更新,报名即将关闭

    大会倒计时2天,议程重大更新,报名通道即将关闭! 创业6年,由AppCan主办的第一届移动开发者大会将在本周五盛大召开.超过100万开发者线上参与.现场1500人规模.50家移动互联企业深度参与.30 ...

  9. Object C学习初步

    最近乘着项目不太紧张的时候,赶紧给自己冲了一下电.其实我自己最熟悉的平台应该是.net,所以当初上手windows phone的话是很快,我记得当初是一边跟着项目进展,一边自己开始学习前台的XAML语 ...

  10. sublime3快捷键

    Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并更改所有相同的变量名.函数名等. ...