MVC的Model层我理解与三层架构的Molde没有区别,都是作为各个层之间的数据沟通桥梁。但是关于Control和View都有一些与传统webform不同的特性。

这里先学习View里所用到的Razor的语法。

在MVC里为我们提供了两种视图渲染方式,传统的WebForm和新增的Razor。

在Asp.net MVC4.0高级编程书中说,Razor的优点如下。

1)更加简洁富有表现力和灵活性。

2)不是新语言(我一直苦苦寻找Razor的语法规则,直到有人告诉我,直接输入@就可以开始写代码了。)

3)易于学习输入@在些HTML代码即可

4)支持所有文本编辑器

5)智能感知功能

MVC特性:

1.通过验证模型简化数据验证。

2.非入侵式JavaScript,意思就是不在页面直接写JavaScript,通过辅助类Ajax.ActionLink和Ajax.BegionFrom。感觉Webfrom写一个JavaScript标签引用js一样。

3.JSON绑定,这个可能倒让我非常感兴趣,在MVC3.0中加入的JsonValueProviderFactory支持JSON绑定。

4.依赖项解析

涉及到设计模式了依赖侏注入,至今未能理解透彻。依赖注入 来源百度百科

控制器(注册和注入控制器工厂,注入控制器)

视图(注册和注入视图引擎,向视图页面注入依赖关系)

操作过滤器(定位和注入过滤器)

模型绑定器(注册和注入)

模型验证提供器(注册和注入)

模型元数据提供器(注册和注入)

值提供器(注册和注入)

5.全局操作过滤器

 过滤器类型

接口

描述

Authorization

IAuthorizationFilter

此类型(或过滤器)用于限制进入控制器或控制器的某个行为方法

Exception

IExceptionFilter

用于指定一个行为,这个被指定的行为处理某个行为方法或某个控制器里面抛出的异常

Action

IActionFilter

用于进入行为之前或之后的处理

Result

IResultFilter

用于返回结果的之前或之后的处理

Asp.Net MVC2.0操作的过滤器可以提供一段执行代码的钩子,使得该段代码可以在一个操作方法执行之前或之后运行,这个功能可以通过自定义特性实现,自定义的特性可以应用于控制器的一些操作或者整个控制器。

Asp.Net MVC3.0扩展了该功能这对于处理应用程序基础结构问题,像错误处理和日志记录尤其有用。

我将这个理解为webform里面生命周期中的事件,pageload init 等。

6.MVC4.0新增特性

1) Asp.Net Web API 类似与WCF服务

2)增强了默认项目模版

3)添加了使用 Jquery Mobile的手机项目模版

4)支持显示模式(Display Models)

5)支持异步控制器的任务

6)捆绑和微小(minification)

设计Asp.Net MVC的目的就是来创建网站,因此,整个平台的目的就是响应浏览器请求并返回HTML。

Web API来源与MVC,下面是一些它的特性,仅适用于HTTP服务域:

1)路由

2)模型绑定和验证

3)过滤器

4)基架

5)简易的单元测试

6)HTTP编程模型

7)基于HTTP动词的动作调度

8)内容协商

9)基于代码的配置

在面对Web API和WCF时,应该是按需求来做,毕竟WCF更加全面能做的更多,但也更加复杂。

MVC学习 (二) Razor语法的更多相关文章

  1. MVC学习二:基础语法

    目录 一:重载方法的调用 二:数据的传递 三:生成控件 四:显示加载视图 五:强类型视图 六:@Response.Write() 和 @Html.Raw()区别 七:视图中字符串的输入 八:模板页 一 ...

  2. .Net MVC 入门之Razor语法

    Razor语法 Razor是以后MVC项目中都需要用的, 所以在学MVC的基础的时候,我们的目标:要了解熟悉Razor页面的语法结构,做到灵活使用,so我们马上开始学习Razor,也请你们多评论和推荐 ...

  3. ASP.net MVC入门及Razor语法

    一.MVC入门: 1.MVC简介 约定大于配置 2.MVC访问流程 csthml模板(razor模板)就是简化HTML的拼接的模板,最终还是生成html给浏览器显示,不能直接访问cshtml文件. 二 ...

  4. ASP.NET MVC中的Razor语法

    1.Razor的基本语法 @* 多行代码时需要包含在大括号内{}和每句代码后都需要加分号; *@ @{ ViewBag.Title = "Index"; ViewBag.Name ...

  5. MVC系列学习(六)-Razor语法

    注:本次代码加了样式,样式如下 <style>     div {         border: 1px solid red;         margin: 10px auto;    ...

  6. QML学习(二)——<QML语法>

    一.Qml类型 QML类型分为三类:基本类型.QML对象类型以及JavaScript类型 1 基本类型 我们可以再qt帮助文档中搜索基本类型查看 基本类型的概念是相对于QML对象类型而言的,QML 对 ...

  7. MVC学习二:Controller和View关系

    控制器(Controller)主要是定义方法和加载视图(View) 1.控制器中的Action方法返回值的类型ActionResult,string 2.控制器中Action方法接收浏览器参数方式: ...

  8. XPath 学习二: 语法

    XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. 下面列出了最有用的路径表达式: 表达式 描述 nodename 选 ...

  9. spring MVC学习(二)---配置相关的东西

    1.在上一节中我们提到过每一个DispatcherServlet都会有一个上下文 (WebApplictionContext),并且继承了这些上下文中的bean,其中以一些"特殊" ...

  10. ASP.NET MVC学习目录

    一.ASP.NET MVC原理详解 1.了解MVC架构模式 3.学习ASP.NET MVC的必备语言知识 4.MVC中的razor语法详解 5.ASP.NET MVC路由系统机制详细讲解 6.ASP. ...

随机推荐

  1. NFinal学习笔记 02—NFinalBuild

    在学习NFinal的过程中发现在线.net编译器Web版—— NFinalBuild 什么是NFinalBuild呢?它就是帮助我们简单又快速的更新我们网站的一种编译器,我们不用再只为了更新.net网 ...

  2. Git(Repo)常用命令收集

    (注意: 只记录工作中实际使用的命令) 同步android源码    repo sync:(可加-c,只取当前分支: 可加-j4,线程数量) 查看android源码下所有项目的git状态    rep ...

  3. 转:Dictionary<int,string>怎么获取它的值的集合?急!急!急!

    怎么获取Dictionary<int, string>的值?我知道这个是键值对的,我知道可以根据key得到value,但关键是现在连key也不知道啊就是想让这个显示在listbox中,应该 ...

  4. 浅析Struts1和Struts2的Action线程安全问题

    tomcat容器对servlet的实现采用的是单例模式,对于一个servlet类,永远只有一个servlet对象存在. 下面我们来解释为什么Struts1是线程不安全的. 1.Struts1 Stru ...

  5. (原)VS2013在Release情况下使用vector有时候会崩溃的一个可能原因

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5016352.html 参考网址: http://www.cnblogs.com/BryZ/archiv ...

  6. SpringMvc项目 FastJson的数据中有$ref解决办法

    这是FastJson返回的数据,经过在线json格式转换工具转换的数据 阴影部分套用上面的dept(部门)信息,使用easyui只能获取第一行,凡是引用的都无法获取 经各种搜索: 推荐网址:http: ...

  7. 在JS中得到表单中各项的值

    var form = document.getElementById("change");var pageNo = form.pageno.value;

  8. jQuery插件开发入门

    扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间.这篇文章将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱. 入门 编写一个jQuery插件开始于给jQuery.fn加入 ...

  9. setInterval()-----------js 函数总结

    setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭.由 s ...

  10. Unix/Linux环境C编程入门教程(36) 初识shell

     1.什么是Shell Shell是位为一组,依次代表文件拥有者.同组用户和其他用户的存取权限.通常文件共有3个权限,"r"表示只读:"w"表示可写:&qu ...