我正在使用 Razor 作为视图引擎创建一个 ASP.NET MVC 3 示例网站。Razor 语法以 @
字符开始,例如 @RenderBody()
。如果我在 cshtml 页面上写 @test,它会给我解析错误:
CS0103:当前上下文中不存在名称“test”
我该如何转义 '@' 字符?
我正在使用 Razor 作为视图引擎创建一个 ASP.NET MVC 3 示例网站。Razor 语法以 @
字符开始,例如 @RenderBody()
。如果我在 cshtml 页面上写 @test,它会给我解析错误:
CS0103:当前上下文中不存在名称“test”
我该如何转义 '@' 字符?
@RazorCodePart1 @@ @RazorCodePart2
,例如在两个Razor代码片段之间有一个字面上的@符号。 - Josh M.<style>
标签,必须嵌入一个 '@media {}' 指令,因此无法使用HTML编码;只能使用@@。 - TriynkoRazor @符号转义为符号...
<img src="..." alt="Find me on twitter as @("@username")" />
或者<img src="..." alt="Find me on twitter as @("@")username" />
@Html.Raw("@")
对我来说似乎比 @@
更可靠,因为并非所有情况下 @@
都会转义。<meta name="twitter:site" content="@twitterSite">
将会是:
<meta name="twitter:site" content="@Html.Raw("@")twitterSite">
而不是 ",但结果令人怀疑。空行没有错误,但
字符会出错。 - EPurpl3使用<text></text>
或者更加简单的方式@:
我更喜欢使用@Html.Raw("@")
而不是HTML实体。
如上所述,@@是Razor视图中@的转义字符。
然而,Razor会尝试确定“@”仅为“@”时以及其标记C#(或VB.Net)代码的位置。其中一个主要用途是在Razor视图中识别电子邮件地址 - 在电子邮件地址中不需要转义@字符。
对于关于@RazorCodePart1 @@ @RazorCodePart2
的问题,你需要按照以下顺序进行:
@RazorCodePart1 @:@@ @RazorCodePart2
我刚遇到了同样的问题。我用@符号声明了一个变量,其中包含我的文本。
@{
var twitterSite = "@MyTwitterSite";
}
...
<meta name="twitter:site" content="@twitterSite">
%40
对我有用。这是我原来想访问的URL:
https://unpkg.com/@google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js
这是我在我的代码中实现的方法:
https://unpkg.com/%40google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js
这对我很有用。
<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">
@
括在大括号中。我通过以下方式编写成功实现了这一点:@(@new)
。 - strizzwald