108

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

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

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

4

5 回答 5

156

您必须使用@@ 来转义@ 符号。

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

于 2011-03-13T05:35:35.720 回答
30

如果您要添加 Twitter 元标记

你的 Twitter 用户名是,比如说,foobar

它应该看起来像这样

<meta name="twitter:site" content=@("@foobar")>
于 2016-01-12T18:09:44.950 回答
17

如果您需要在 css 代码中注释 @ 符号而 @@ 不起作用,请使用:

@("@@font-face"){ ... css ...}
于 2011-04-04T15:40:23.823 回答
4

我还有另一个奇怪的情况:传递'@' + @Model.SomeProperty给链接href。

在这个类似问题的回答中, IMO 给出了这种情况的最佳解决方案。在使用 html 代码时两者都@@不起作用@:会使&#64;事情复杂化。

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

@Html.Raw('@')@Model.SomePropery本来也可以的。

于 2015-09-03T14:30:46.233 回答
0

如果您要添加 Schema.org JSON-LD 标签,@Matt 的回答对我有用:

  ....
  @("@context"): "https://schema.org",
  ....
于 2022-02-03T17:15:09.180 回答