Razor视图引擎

简介: 目前我们使用asp.net开发的过程中,接触了三种开发模式:一般处理程序(ashx),webform(aspx),mvc。具体关于asp.net的介绍,请看博客:[总览]Asp.net。 在学习mvc时,我对这两种搜索引擎机制:razor和winform有了新的理解。在mvc中添加视图时,不知道大家有没有注意到这两种视图的区别:

目前我们使用asp.net开发的过程中,接触了三种开发模式:一般处理程序(ashx),webform(aspx),mvc。具体关于asp.net的介绍,请看博客:[总览]Asp.net。


   在学习mvc时,我对这两种搜索引擎机制:razor和winform有了新的理解。在mvc中添加视图时,不知道大家有没有注意到这两种视图的区别:


一、两种引擎:

视图1:使用Razor


20161220110954744.png


得到比较赶紧清晰的页面:



20161220111008126.png

视图2:使用Winform引擎



20161220111017423.png

页面的内容就比较丰富了:


20161220111035236.png

razor文件的扩展名是.cshtmlwinform文件的扩展名是.aspx我们之前接触了很多关于winform引擎的知识,这次给大家简单介绍一下razor的内容。


二、razor中的@符号


它被定义为Razor服务器代码块的开始符号。


1、如果我们希望在网页中输出一个变量,或者当前日期,我们可以使用如下代码:


<h2>Details</h2>


<h3>这是子页面的内容</h3>


@{string productName = "圣诞节快乐";}


<span>@productName</span>


<span>@DateTime.Now.ToString("yyyy-MM-hh")</span>

20161220111128387.png

 

2、也可以在@{}下直接进行运算

 @for (int i = 0; i < 10; i++)
        {
            <span>@i  ==<%: i%></span>
            i++;
            int a = i + 1;
        }


3、输出


3.1输出@符号:@@


  3.2输出Email地址:Razor模板会自动识别出Email地址,所以不需要我们进行任何的转换。而在代码 块中,只需要使用@:Tom@gmail.com 即可。@:表示后面的内容为文本。


  3.3输出HTML代码(包含标签):直接输出,stringhtml = "<font color='red'>文本</font>"; @html


  3.4输出HTML内容(不包含标签):有两种方法,第一种:IHtmlStringhtml=new HtmlString("<font color='red'>文本</font>");@html; 第二种:string html = "<font color='red'>文本</font>";@Html.Raw(html);


三、razor注释


这里所说的注释是指服务器端的注释,在Razor代码块中,可以使用C#的注释方式来进行注释,分别是//:(单行注释)和/**/(多行注释)。


   另外,Razor还提供了一种新的服务器段代码注释,可以即注释C#代码,同时可以注释HTML代码,@**@,这种注释方式不受代码块的限制,在Razor代码中的任何位置都可以。


    @*
    这是一个注释
    <b>这个是注释</b>
    *@

四、优点(了解):


1紧凑、富有表现力和流畅:


Razor尽量减少一个文件里需要敲入的字符数,给你畅快淋漓的编码体验。与大部分模板的语法不同,你不会因为需要在HTML中标注服务器端代码块而中断敲代码的快感。代码分析器足够聪明,能够从你的代码里推断出是否为服务器端代码。这使得其简洁、富有表现力的语法输入能够干净,快速,有趣。


2、上手快:


   Razor非常容易上手,你只需要了解很少的新东西就可以掌握它,使用你现有的编程语言和HTML知识就足够了。


3、不是一个新的编程语言:


   我们尽量避免为Razor创建一个新的命令式语言。相反,我们希望让程序员只使用现有的C#/VB(或其它)编程语言知识就能使用Razor,我们只不过在你选择的编程语言里,提供一个非常棒的基于模板生成HTML的标记语法。


4、 可以使用任何文本编辑器编写:


   Razor不要求什么特别的工具,使用老古董的文本编辑器也可以高效编程(“记事本”就不错)。


5、很好的智能感应输入提示:


   虽然Razor不是专为某个工具或者代码编辑器设计的,但它在Visual Studio里还是有很赞的智能提示功能。我们将会升级VisualStudio 2010和Visual Web Developer 2010使得它具有完整的编辑器智能提示功能。


6、便于单元测试:


   新的视图引擎支持对视图执行单元测试,不需要控制器(controller)或者Web服务器,而且可以包含在任意的单元测试项目中—不需要单独的应用程序域(App-Domain)。


7、弹性的选择空间


   ASP.NET最赞的地方之一就是大部分组件都是可插拔的。如果你发现有一个组件不好用,随时都可以换成另外一个。


总结:

razor视图引擎是一种页面更简洁,操作更简单,服务器代码和HTML代码混写的代码模板

 

推荐阅读:http://blog.csdn.net/mrobama/article/details/45116859

相关文章
|
3月前
|
C++ Python
Django视图函数VS类视图:如何选择最适合你的开发方式?
【8月更文挑战第31天】本文对比了Django中的函数视图和类视图。函数视图直接处理HTTP请求和响应,灵活且易于维护,适用于简单业务逻辑;类视图基于Python类,提供更丰富的功能和更高的灵活性,适合处理复杂业务逻辑。选择哪种视图取决于具体需求,合理使用两者可帮助你构建高效且易维护的Django应用。
54 0
|
存储 架构师
「架构框架」ArchiMate视图指南(7):信息结构视图和服务实现视图
「架构框架」ArchiMate视图指南(7):信息结构视图和服务实现视图
|
架构师
「架构框架」ArchiMate视图指南(6):信息结构视图和服务实现视图
「架构框架」ArchiMate视图指南(6):信息结构视图和服务实现视图
|
存储 架构师
「架构框架」ArchiMate视图指南(4):应用使用视图和实现部署视图
「架构框架」ArchiMate视图指南(4):应用使用视图和实现部署视图
|
编解码 Android开发
视图 总结 基础
DragViewTaskRelease 使用FrameLayout布局(可以用其他的),内嵌imageView实现悬浮拖动和点击事件,继承View的ontouchEvent进行动作监听和移动 getX(),getY()等方法的区别(图解) BarPercentView 条形进度条(可设置 线性渐变-背景色-进度条颜色-进度条高度) 游戏下载进度条显示 zidingyiView矩形进度框,在构造函数里定义基础属性,初始化布局,定义俩个矩形,onMeasure获取宽高和onDraw方法显示
|
JavaScript PHP SEO
Laravel 视图 使用技巧总结
Laravel 搭建网站非常简单,相比于VUE等单页面项目,对SEO非常友好。Laravel 的 Blade 特性丰富,掌握 Blade 的使用技巧,能让我们的开发更快一步。
157 0
|
监控 中间件 程序员
关于开发视图
开发视图是逻辑视图的实现,它又叫实现视图,描述了在开发环境中软件的静态组织结构,主要侧重于软件模块的组织和管理。
710 0
关于开发视图