更改剃刀语法
Change razor syntax
如何更改 RazorEngine 中的 Razor 语法?
我需要使用特定的关键字而不是 "@"
符号。
例如:$$Model.someField
而不是 @Model.someField
。 ("$$"
而不是 "@"
)。
你不能。 Razor 的设计并不是为了做到这一点。基本上 (Microsoft.AspNet.)Razor 有一些专门编写的解析器,它们以特殊方式(通过切换解析器)处理“@”。这意味着语言(在本例中为 C#,Html)本身也需要与此过程兼容!
如果您想用其他内容替换“@”,您需要重写 Razor 解析器。这是可能的,但此时您已经自己实现了 Razor 中最难的部分...
你应该问自己(或在这里回答)的真正问题是:你为什么要这样做?不是想象的那么简单,我之前也是这样。
正如 freedomn-m 所建议的那样,如果您需要输出“@”,您应该使用@Html.Raw("@") 或@@。
马蒂德
- 一位 RazorEngine 贡献者
如何更改 RazorEngine 中的 Razor 语法?
我需要使用特定的关键字而不是 "@"
符号。
例如:$$Model.someField
而不是 @Model.someField
。 ("$$"
而不是 "@"
)。
你不能。 Razor 的设计并不是为了做到这一点。基本上 (Microsoft.AspNet.)Razor 有一些专门编写的解析器,它们以特殊方式(通过切换解析器)处理“@”。这意味着语言(在本例中为 C#,Html)本身也需要与此过程兼容!
如果您想用其他内容替换“@”,您需要重写 Razor 解析器。这是可能的,但此时您已经自己实现了 Razor 中最难的部分...
你应该问自己(或在这里回答)的真正问题是:你为什么要这样做?不是想象的那么简单,我之前也是这样。
正如 freedomn-m 所建议的那样,如果您需要输出“@”,您应该使用@Html.Raw("@") 或@@。
马蒂德 - 一位 RazorEngine 贡献者