介绍“razor”— aspnet的一个新视图引擎

介绍“razor”— aspnet的一个新视图引擎

ID:9519025

大小:576.50 KB

页数:16页

时间:2018-05-02

介绍“razor”— aspnet的一个新视图引擎_第1页
介绍“razor”— aspnet的一个新视图引擎_第2页
介绍“razor”— aspnet的一个新视图引擎_第3页
介绍“razor”— aspnet的一个新视图引擎_第4页
介绍“razor”— aspnet的一个新视图引擎_第5页
资源描述:

《介绍“razor”— aspnet的一个新视图引擎》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、介绍“Razor”—ASP.NET的一个新视图引擎[原文发表地址]Introducing“Razor”–anewviewengineforASP.NET[原文发表时间]July02,201011:01PM我的团队当前正在从事的工作之一就是为ASP.NET添加一个新的视图引擎。一直以来,ASP.NETMVC都支持“视图引擎”的概念—采用不同语法的模板的可插拔模块。当前ASP.NETMVC“默认”的视图引擎是ASP.NETWeb窗体使用的.aspx/.ascx/.master文件模板。而当今其他一些流行的ASP.NET

2、MVC视图引擎还包括Spark和NHaml。我们正在打造一个新的视图引擎,它是一个在HTML生成方面进行优化,采用专注于代码的模版解决方案。它的开发代号是“Razor”,第一个beta版本很快就会发布出来。设计目标在设计和评估“Razor”时,我们牢记以下几个目标:·紧凑、富有表现力和流畅:Razor尽量减少一个文件里需要敲入的字符数,给你畅快淋漓的编码体验。与大部分模板的语法不同,你不会因为需要在HTML中标注服务器端代码块而中断敲代码的快感。代码分析器足够聪明,能够从你的代码里推断出是否为服务器端代码。这使得其

3、简洁、富有表现力的语法输入能够干净,快速,有趣。·上手快:Razor非常容易上手,你只需要了解很少的新东西就可以掌握它,使用你现有的编程语言和HTML知识就足够了。·不是一个新的编程语言:我们尽量避免为Razor创建一个新的命令式语言。相反,我们希望让程序员只使用现有的C#/VB(或其它)编程语言知识就能使用Razor,我们只不过在你选择的编程语言里,提供一个非常棒的基于模板生成HTML的标记语法。·可以使用任何文本编辑器编写:Razor不要求什么特别的工具,使用老古董的文本编辑器也可以高效编程(“记事本”就不错)

4、。·很好的智能感应输入提示:虽然Razor不是专为某个工具或者代码编辑器设计的,但它在VisualStudio里还是有很赞的智能提示功能。我们将会升级VisualStudio2010和VisualWebDeveloper2010使得它具有完整的编辑器智能提示功能。·便于单元测试:新的视图引擎支持对视图执行单元测试,不需要控制器(controller)或者Web服务器,而且可以包含在任意的单元测试项目中—不需要单独的应用程序域(App-Domain)。过去几个月,我们一直在用Razor来编写程序,并邀请了一些志愿者(

5、包括好几组非.NET的Web程序员)来做易用性研究。使用过它的人对它的评价都不错。弹性的选择空间ASP.NET最赞的地方之一就是大部分组件都是可插拔的。如果你发现有一个组件不好用,随时都可以换成另外一个。ASP.NETMVC的下一个版本将会包括一个新的“添加->视图”对话框,它让你可以方便地在创建新的视图模板文件时选择你想要使用的语法。它还便于你选择任一个安装在机器上的视图引擎—选择你感觉最自然的视图方案:Razor将会是ASP.NETMVC内置的视图引擎之一。所有的视图辅助(helper[i])方法和编程模型特性

6、同时支持Razor和.ASPX视图引擎。你还将可以在单个站点或程序中混合使用多个视图引擎写的视图模板。比如说,你可以编写一些视图,有些用.aspx文件,有些用.cshtml或者.vbhtml文件(分别是Razor的C#和VB版本的文件后缀名),而另外一些用Spark或者NHaml。你还可以在采用一种视图引擎的视图模板里包含用另一种引擎编写的局部视图模板。总之,你有灵活的选择空间。Razor版的“HelloWorld”Razor允许你从静态的HTML页面(或者任意的文本内容)开始,添加服务器端代码使其变成动态页面。R

7、azor的一个核心设计理念就是使编码过程更加流畅,并且只要最少的按键次数就能快速地在HTML标记中添加服务器端代码。让我们来创建一个简单的例子:“helloworld”,它的最终输出如下图所示:使用.ASPX“代码碎块[ii]”的方式编写如果用现有ASP.NET的.ASPX标记语法来编写上面的“HelloWorld”示例的话,我们需要在HTML标签中使用”<%=%>”来标记“代码碎块”:仔细观察就可以发现上例中每一个代码碎块都需要5个字符(”<%=%>”)来标明代码的开始和结束位置。而且其中还有几个字符在键盘上不是

8、特别好敲到(特别是“%”键—它位于大部分键盘的中上部)。使用Razor的语法编写在Razor中,你只需要用一个”@”字符就可以标识代码块的开始,与”<%%>”代码碎块不一样,Razor不需要你显式指明代码块的结束位置:Razor分析器懂得代码块中使用的C#或VB的语法—这就是为什么上例中我们不需要显式关闭代码块的原因。Razor可以自动识别出上面的语句是独立

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。