zoukankan      html  css  js  c++  java
  • MVC学习 (二) Razor语法

    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更加全面能做的更多,但也更加复杂。

  • 相关阅读:
    SQL Server
    SQL Server
    SQL Server
    SQL Server
    SQL Server
    SQL Server
    SQL Server
    ssh保持连接不断开
    如何查看linux是否打开虚拟化
    dd命令详解
  • 原文地址:https://www.cnblogs.com/cjl2013/p/5666809.html
Copyright © 2011-2022 走看看