【问题标题】:Change razor syntax更改剃刀语法
【发布时间】:2015-06-02 12:43:41
【问题描述】:

如何在 RazorEngine 中更改 razor 语法?

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

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

【问题讨论】:

  • 只是出于兴趣,想要改变的原因是什么?
  • 你能详细说明你想要完成什么吗?
  • 如果这是想要这样做的原因,您可以输出一个带有@@@Html.Raw("@")的“@”

标签: c# asp.net-mvc razorengine


【解决方案1】:

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

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

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

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

马蒂德 - RazorEngine 贡献者

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多