RazorEngine、模板和电子邮件地址的问题

Issue with RazorEngine, Templates and email addresses

希望有人可以帮助解决这个问题。这让我很头疼。

每当我的模板之一包含一个电子邮件地址时,RazorEngine 就会抛出一个奇怪的错误,该电子邮件地址在地址的用户部分末尾包含一个连字符(例如 user-@domain.com)。错误很长,并且对为什么动态模型不起作用等有很好的解释,但是,相关部分是

The name 'domain' does not exist in the current context.

当我将电子邮件地址更改为不具有相同 -@ 结构的电子邮件地址时,我无法使用相同的模板获得此信息,因此这肯定与 RazorEngine 解析该地址的方式有关。似乎特定的序列导致 RazorEngine 将 @ 读取为剃刀命令的开头。

我尝试用 HTML 实体 - 替换“-”但结果是一样的。有没有其他人看到这个或者有没有人知道我可以尝试的任何其他解决方法?

问题不只是连字符,而是 -@ 符号。它正在翻译,就好像你在你的模型中传递变量 "domain" 一样,找不到它并且吓坏了。您将需要转义它,有几种方法可以这样做,也许如果您显示您的代码,那么我们可以建议采取哪条路线。最常见的是,这是通过使用类似 @Html.Raw("treaviseacton-@gmail.com")

的方法来解决的

我可以在任何地方找到评论和文档,比如对 html 数据属性使用下划线(即数据测试应该用 razor 写成 data_test)但是对于我的生活我有从来没能在任何地方找到任何关于为什么连字符被这样处理的文档。