我正在使用Razor作为视图引擎创建一个示例ASP.NET MVC 3站点。剃刀语法以@
字符开头,例如@RenderBody()
。如果我在我的cshtml页面上写@test,它会给我解析错误
CS0103:当前上下文中不存在名称“test”
如何逃脱'@'字符?
答案 0 :(得分:825)
@@
应该这样做。
答案 1 :(得分:132)
Razor @ escape char to symbols ...
<img src="..." alt="Find me on twitter as @("@username")" />
或
<img src="..." alt="Find me on twitter as @("@")username" />
答案 2 :(得分:37)
使用<text></text>
或更简单的@:
答案 3 :(得分:32)
@Html.Raw("@")
在我看来比@@
更可靠,因为在所有情况下@@
都不会逃脱。
因此:
<meta name="twitter:site" content="@twitterSite">
将是:
<meta name="twitter:site" content="@Html.Raw("@")twitterSite">
答案 4 :(得分:18)
我更喜欢使用@ Html.Raw(&#34; @&#34;)
而不是HTML实体答案 5 :(得分:12)
@@是Razor视图中@的转义字符,如上所述。
然而,当'@'只是一个'@'并且它标记C#(或VB.Net)代码时,Razor会尝试解决问题。其中一个主要用途是识别Razor视图中的电子邮件地址 - 没有必要转义电子邮件地址中的@字符。答案 6 :(得分:8)
关于@RazorCodePart1 @@ @RazorCodePart2
的问题,您需要按顺序:
@RazorCodePart1 @:@@ @RazorCodePart2
我知道,它看起来有点奇怪,但它有效,并且会在代码块之间找到文字字符'@'。
答案 7 :(得分:6)
我遇到了同样的问题。我声明了一个变量,用@。
表示我的文本@{
var twitterSite = "@MyTwitterSite";
}
...
<meta name="twitter:site" content="@twitterSite">
答案 8 :(得分:4)
这项工作对我来说
<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">
或者yoy可以使用: @@ Alan_van_Buuren
:d
答案 9 :(得分:1)
我尝试了上面的所有选项但都没有效果。这就是我的工作:
@{
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很酷。
答案 10 :(得分:1)
您可以使用@@来实现此目的。
与var email = firstName + '\@@' + domain;
答案 11 :(得分:1)
只需在CSHTML文件中添加变量即可
var myVariable = @"@";
并将其添加到您的布局中
var myVariable = @"@";
答案 12 :(得分:0)
我无法在占位符属性中使用任何这些,所以我使用了xml特殊字符。
<input type="text" placeholder="fex: firstname@lastname.com"/>
在此处查看更多示例。 https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html
答案 13 :(得分:0)
实际上,@应该与Razor语法关键字一起使用,或与变量/模型一起使用以绑定值。
例如: 如果测试分配了值 即@ {var test =“ ABC”} 那么您可以通过将html部分中的cshtml页面上的@test设置为@test来获取值。 否则,可以简单地用作@ Html.DisplayName(“ test”)
答案 14 :(得分:0)
我知道这个问题很旧,但是我尝试了以上所有方法,但是它没有帮助我在URL内的ASP.NET完整框架(MVC 5)中转义字符“ @”。不过,基于Terje Solem的回答,UTF-8代码%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