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

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

如何转义“@”字符?


当前回答

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

@{
   var twitterSite = "@MyTwitterSite";
}

...

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

其他回答

我尝试了上面所有的方法,没有一个奏效。这就是我所做的工作:

@{
    string str = @"[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$";
}

<td>Email</td>
<td>
   <input type="text" id="txtEmail" required name="email" pattern=@str /> 
</td>

我创建了一个字符串变量,并将所有的RegEx模式代码传递给它,然后在html中使用该变量,Razor对它很酷。

我应该做这件事。

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

这对我很有用

<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">

或者你可以用: @@Alan_van_Buuren

:D

对于关于@RazorCodePart1 @@ @RazorCodePart2的问题,需要按照以下顺序:

@RazorCodePart1 @:@@ @RazorCodePart2

我知道,这看起来有点奇怪,但它可以工作,并将在代码块之间为您提供文字字符“@”。