更改剃刀语法

Change razor syntax

如何更改 RazorEngine 中的 Razor 语法?

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

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

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

如果您想用其他内容替换“@”,您需要重写 Razor 解析器。这是可能的,但此时您已经自己实现了 Razor 中最难的部分...

你应该问自己(或在这里回答)的真正问题是:你为什么要这样做?不是想象的那么简单,我之前也是这样。

正如 freedomn-m 所建议的那样,如果您需要输出“@”,您应该使用@Html.Raw("@") 或@@。

马蒂德 - 一位 RazorEngine 贡献者