Razor ViewEngine:如何转义“ @”符号?


101

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

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

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


2
您也可以使用HTML实体&#64;
rsenna 2014年

Answers:


143

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

注意的一件事是,电子邮件地址中的@符号不需要转义。剃刀应该足够聪明才能自行解决。


4
<ahref=""title="此@@将不起作用"></a>,VS中的语法错误和运行时的解析器错误均如此。
天前2012年

1
@Tien看到这里最后的HTML字符代码为我工作:stackoverflow.com/a/13584640/84206
AaronLS 2012年

25

如果要添加Twitter元标记

而您的Twitter用户名是 foobar

它应该看起来像这样

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

16

如果您需要在CSS代码中注释@符号,而仅@@将无法使用,请使用以下命令:

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

1
这是最好的方法,因为HTML实体在CSS内无用。
克里斯(ChrisF)2014年

2

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

国际海事组织在对类似问题的回答中为这种情况提供了最佳解决方案。双方@@@:同时使用HTML代码没有工作&#64;将复杂的事情。

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.