我正在创建一个示例ASP。NET MVC 3站点使用Razor作为视图引擎。razor语法以@字符开始,例如@ renderbody()。如果我在我的cshtml页面上写@test,它会给我解析错误
CS0103:名称“test”在当前上下文中不存在
如何转义“@”字符?
我正在创建一个示例ASP。NET MVC 3站点使用Razor作为视图引擎。razor语法以@字符开始,例如@ renderbody()。如果我在我的cshtml页面上写@test,它会给我解析错误
CS0103:名称“test”在当前上下文中不存在
如何转义“@”字符?
当前回答
@@是前面提到的Razor视图中@的转义字符。
然而,Razor确实试图找出什么时候“@”只是一个“@”,以及它在哪里标记c#(或VB.Net)代码。它的主要用途之一是在Razor视图中识别电子邮件地址——不需要在电子邮件地址中转义@字符。
其他回答
@ html . raw(“@”)在我看来甚至比@@更可靠,因为并非在所有情况下@@都会被转义。
因此:
<meta name="twitter:site" content="@twitterSite">
是:
<meta name="twitter:site" content="@Html.Raw("@")twitterSite">
使用<text></text>或更简单的方法@:
只需在CSHTML文件中添加一个变量 var myVariable = @“@”;
并将其添加到您的布局中 <span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>
对于关于@RazorCodePart1 @@ @RazorCodePart2的问题,需要按照以下顺序:
@RazorCodePart1 @:@@ @RazorCodePart2
我知道,这看起来有点奇怪,但它可以工作,并将在代码块之间为您提供文字字符“@”。
你可以使用@@来达到这个目的。 Like var email = firstName + '\@@' +域名;