我正在创建一个示例ASP。NET MVC 3站点使用Razor作为视图引擎。razor语法以@字符开始,例如@ renderbody()。如果我在我的cshtml页面上写@test,它会给我解析错误
CS0103:名称“test”在当前上下文中不存在
如何转义“@”字符?
我正在创建一个示例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" />
其他回答
实际上@应该与Razor语法关键字或变量/模型一起使用来绑定值。
如: 如果test被赋值 即@ {var test = "ABC"} 然后你可以通过设置得到这个值,因为@test anywhere是CSHTML页面的HTML部分。 否则,简单使用@Html.DisplayName("test")
比起HTML实体,我更喜欢使用@ HTML . raw(“@”)。
对于关于@RazorCodePart1 @@ @RazorCodePart2的问题,需要按照以下顺序:
@RazorCodePart1 @:@@ @RazorCodePart2
我知道,这看起来有点奇怪,但它可以工作,并将在代码块之间为您提供文字字符“@”。
这对我很有用
<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">
或者你可以用: @@Alan_van_Buuren
:D
@ html . raw(“@”)在我看来甚至比@@更可靠,因为并非在所有情况下@@都会被转义。
因此:
<meta name="twitter:site" content="@twitterSite">
是:
<meta name="twitter:site" content="@Html.Raw("@")twitterSite">