Razor ViewEngine:如何逃避“@”符号?

时间:2011-03-13 05:33:33

标签: asp.net asp.net-mvc-3 razor escaping twitter-anywhere

我正在尝试与Twitter @Anywhere API一起输出ASP.NET MVC3中的一些Twitter句柄,我无法弄清楚如何在Razor视图中实际转义“@”符号。

有没有人知道在Razor中转义“@”字符的语法是什么?

我尝试使用<text></text>,这会导致JIT错误。

4 个答案:

答案 0 :(得分:130)

你必须使用@@来逃避@符号。

需要注意的一件重要事情是,当电子邮件地址中存在@符号时,您不需要转义它。 Razor应该足够聪明,能够独自解决这个问题。

答案 1 :(得分:21)

如果您要添加Twitter元标记

并且您的Twitter用户名是blrbr(关注我;))

它看起来应该是这样的

<meta name="twitter:site" content=@("@blrbr")>

答案 2 :(得分:14)

如果你需要在css代码中注释@符号而只是@@不会工作,请使用:

@("@@font-face"){ ... css ...}

答案 3 :(得分:2)

我还有一个奇怪的案例:将'@' + @Model.SomeProperty传递给链接href。

此案例的最佳解决方案是IMO在this answer中提出的类似问题。使用html代码@@时,@:&#64;都无法正常工作。

所以,我的代码是<a href="~/path/?query=@('@')@Model.SomePropery">

@Html.Raw('@')@Model.SomePropery也会奏效。