1、语法

@{

    int c=2;

}

@for(int i=0;i<c;i++)

{

    @i

    @:@i

    @:select

    @:select @i

    select @i //@for 嵌套了,抛错

   
 

}

   
 

select @c

   
 

2、移除模板

关键是要创建配置

static
ITemplateServiceConfiguration config = new
TemplateServiceConfiguration();

   
 

public
static
void Init()

{

var service = RazorEngineService.Create(config);

RazorEngine.Engine.Razor = service;

}

   
 

   
 

///
<summary>

/// 检索多级模板,保留目录结构

///
</summary>

///
<param name="path"></param>

public
static
List<string> LoadAllTemplate(string path)

{

path = path.TrimEnd('\\', '/');

List<string> list = new
List<string>(); ;

foreach (string s in
new
List<string>(System.IO.Directory.GetFiles(path, "*.t", System.IO.SearchOption.AllDirectories)))

{

//文件名后缀

string keyName = string.Format("{0}\\{1}", System.IO.Path.GetDirectoryName(s).Substring(path.Length + 1), System.IO.Path.GetFileNameWithoutExtension(s)).TrimStart('\\');

list.Add(keyName);

var key = new
NameOnlyTemplateKey(keyName, ResolveType.Global, null);

string razorTemplate = System.IO.File.ReadAllText(s, Encoding.UTF8);

RazorEngine.Engine.Razor.AddTemplate(key, new RazorEngine.Templating.LoadedTemplateSource(razorTemplate));

RazorEngine.Engine.Razor.Compile(key, typeof(RazorOption));

}

return list;

}

   
 

   
 

public
static
void Test()

{

LoadAllTemplate(System.IO.Path.GetFullPath("Templates"));

RazorOption option = new
RazorOption() { EMail = "1@1.1", NameSpace = "test", Registeredorganization = "bjzy" };

option.MetaString = "{Name:\"Test\"}";

//Console.WriteLine(option.ToMeta<Model.Table>());

//option.ObjectType = Enums.enumObjectType.Table;

System.IO.TextWriter sw = new System.IO.StringWriter();

ITemplateKey key = RazorEngine.Engine.Razor.GetKey("ExportData\\Insert");

//Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(option, Newtonsoft.Json.Formatting.Indented));

RazorEngine.Engine.Razor.Run(key, sw, typeof(RazorOption), option);

string fileName = System.Text.RegularExpressions.Regex.Match(sw.ToString(), @"(?<=\* 文件名:).*").Value.TrimEnd('\r', '\n');

(config.TemplateManager as
DelegateTemplateManager).RemoveDynamic(key);

RazorEngine.Engine.Razor.AddTemplate(key, "@DateTime.Now.ToString()");

RazorEngine.Engine.Razor.Compile(key, typeof(RazorOption));

RazorEngine.Engine.Razor.Run(key, sw, typeof(RazorOption), option);

Console.Write(sw.ToString());

   
 

}

   
 

3、嵌入方法或者函数

@helper 或 @function (貌似不支持)

参考 http://www.cnblogs.com/hbb0b0/p/5104027.html

   
 

   

Razor速记的更多相关文章

  1. 警惕!高版本VS发布时预编译导致Mono中Razor找不到视图

    早前一段时间,一位朋友在Q群里面找到我,说它按照<Linux.NET学习手记>的操作,把一个ASP.NET MVC 4.0的项目部署到Mono之后出现Razor无法找到视图的现象.当时费了 ...

  2. ASP.NET MVC 5 Web编程4 -- Razor视图引擎

    Razor简介 Razor是ASP.NET新增的一个视图引擎,由微软全球最年轻的副总裁,有着"ASP.NET之父"称呼的Scott Guthrie主导的团队开发. 主导Razor开 ...

  3. .NET MVC Razor模板预编译(二)

    在前面一片文章:<.NET MVC4 Razor视图预编译(一)> 里面我采用的是PrecompiledMvcViewEngineContrib组件进行预编译视图的虚拟地址注册,但是这个组 ...

  4. .NET MVC4 Razor视图预编译(一)

    在平时使用.NET MVC中不乏有类似的需求:某些razor视图,特别是系统后台的视图,不想让用户自行更改,需要通过某种方法把视图模板编译到项目的dll中去. 但是VS并不提供razor的预编译,如果 ...

  5. MVC5学习系列--Razor视图(一)

    前言 嗷~小弟我又出现了~咳咳..嚎过头了, 先说一说为什么写这个吧,~首先肯定是我自己需要学(废话 - -,)//,之前也写过MVC4的项目,嗯..但是仅限于使用并没有很深入的每个模块去了解, 这段 ...

  6. ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考

    原文:Razor Syntax Reference 作者:Taylor Mullen.Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:何镇汐 什么是 Razor? Razor 是一 ...

  7. Razor基础语法一

    目录: 什么是Razor? 渲染HTML Razor语法 隐式 Razor 表达式 显式 Razor 表达式 什么是Razor? Razor是基于服务端代码转换成网页的标记语法.语法主要包括Razor ...

  8. VS2015突然报错————Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value 'Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper

    Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with ...

  9. ASP.NET MVC——Razor视图引擎

    Razor是MVC框架视图引擎,我们今天就来说一说Razor视图引擎. 首先还是来创建一个基础项目叫Razor来演示. 先来定义一个Model叫Product public class Product ...

随机推荐

  1. Java泛型的历史

    为什么Java泛型会有当前的缺陷? 之前的章节里已经说明了Java泛型擦除会导致的问题,C++和C#的泛型都是在运行时存在的,难道Java天然不支持“真正的泛型”吗? 事实上,在Java1.5在200 ...

  2. 对一致性Hash算法,Java代码实现的深入研究

    一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...

  3. ABP源码分析三十:ABP.RedisCache

    ABP 通过StackExchange.Redis类库来操作Redis数据库. AbpRedisCacheModule:完成ABP.RedisCache模块的初始化(完成常规的依赖注入) AbpRed ...

  4. TODO:一不顺眼就换字体Go之代码篇

    TODO:一不顺眼就换字体Go之代码篇 image包实现了一个基本的2D图像库,该包中包含基本的接口叫做image,这个里面包含color,这个将在image/color中描述:新增字体font,进行 ...

  5. hibernate一对一主键双向关联

    关联是类(类的实例)之间的关系,表示有意义和值得关注的连接. 本系列将介绍Hibernate中主要的几种关联映射 Hibernate一对一主键单向关联Hibernate一对一主键双向关联Hiberna ...

  6. SharedPreferences 的另一种场景的用法

    SharedPreferences 的另一种场景的用法 昨天,下班在家想做什么来着,然后想用SharedPreferences存点数据,但是不知道咋地突然想到,SharedPreferences是应用 ...

  7. Jquery事件

    在JS里加事件  <input type="button" value="测试" onclick="test()"/>跟一个函数 ...

  8. iOS-证书

    1.iOS-证书相关 2.iOS-证书申请 3.iOS-APNS证书申请与使用 4.iOS-App发布证书的申请与使用

  9. JavaScript随笔8

    正则表达式: search(a);//查询a的位置 substring(2,5)//获取到2到4位 chartAt(3);//获取到第3位 split('-');//以-切分 (1) RegExp对象 ...

  10. MongoDB下载安装与简单增删改查

    Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongo ...