我正在创建一个示例ASP。NET MVC 3站点使用Razor作为视图引擎。razor语法以@字符开始,例如@ renderbody()。如果我在我的cshtml页面上写@test,它会给我解析错误

CS0103:名称“test”在当前上下文中不存在

如何转义“@”字符?


当前回答

剃刀@转义字符符号…

<img src="..." alt="Find me on twitter as @("@username")" />

or

<img src="..." alt="Find me on twitter as @("@")username" />

其他回答

只需在CSHTML文件中添加一个变量 var myVariable = @“@”;

并将其添加到您的布局中 <span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>

我也遇到了同样的问题。我用@声明了一个变量。

@{
   var twitterSite = "@MyTwitterSite";
}

...

<meta name="twitter:site" content="@twitterSite">

@ html . raw(“@”)在我看来甚至比@@更可靠,因为并非在所有情况下@@都会被转义。

因此:

<meta name="twitter:site" content="@twitterSite">

是:

<meta name="twitter:site" content="@Html.Raw("@")twitterSite">

比起HTML实体,我更喜欢使用@ HTML . raw(“@”)。

使用<text></text>或更简单的方法@: