MVC学习 (二) Razor语法
2016-07-13 14:34
162 查看
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.全局操作过滤器
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更加全面能做的更多,但也更加复杂。
这里先学习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 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更加全面能做的更多,但也更加复杂。
相关文章推荐
- 一份有关30万程序员未来的年中总结
- iOS开发-工程结构
- 一些基础知识(面试)
- Linux上的一些积累
- c++11:正则表达式(re)
- leetcode算法题总结之Reverse String
- SSM框架整合(下篇)
- MySQL:常用函数
- java学习基础篇(十)单例设计模式
- 51NOD 1414 冰雕(暴力)
- 非构造函数的继承 深拷贝
- Ubuntu下移植Tcpdump到Android平台
- 数据压缩 : 简要
- Cordova 混合应用处理输入法相关事件
- android搜索热词(热门标签)流式布局的实现
- 多线程
- cmake安装的软件要怎么卸载
- jQuery创建平滑的页面滚动(顶部或底部)
- pico问题记录
- ocalparam和parameter的区别 --引用特权博客