2015-06-02 103 views
1

如何更改RazorEngine中的剃刀语法?更改剃刀语法

我需要使用特定的关键字而不是"@"符号。

例如:$$Model.someField而不是@Model.someField。 ("$$"而不是"@")。

+4

只是出于兴趣,什么是希望改变的原因是什么? – Carl

+2

你能详细说明你正在努力完成什么吗? – Mats

+1

看看[这里] http://weblogs.asp.net/imranbaloch/view-engine-with-dynamic-view-location – developer

回答

1

你不能。剃刀并不是真正以这种方式设计的。基本上(Microsoft.AspNet。)Razor有一些专门编写的解析器,它们以特殊的方式处理“@”(通过切换解析器)。这意味着语言(本例中为C#,Html)本身也需要与此过程兼容!

如果你想用别的东西替换“@”,你需要重写剃刀解析器。这是可能的,但在这一点上,你已经实现了剃刀自己最难的部分...

真正的问题,你应该问自己(或在这里回答)是:为什么你想要这样做?它不像人们想象的那么微不足道,我之前就是这样。

由于freedomn-m建议您应该使用@ Html.Raw(“@”)或@@,如果您需要输出“@”。

matthid - 一个RazorEngine贡献者