我正在使用 Razor 作为视图引擎创建一个示例 ASP.NET MVC 3 站点。razor 语法以@
字符开头,例如@RenderBody()
. 如果我在我的 cshtml 页面上写 @test 它会给我解析错误
CS0103:当前上下文中不存在名称“test”
如何转义“@”字符?
我正在使用 Razor 作为视图引擎创建一个示例 ASP.NET MVC 3 站点。razor 语法以@
字符开头,例如@RenderBody()
. 如果我在我的 cshtml 页面上写 @test 它会给我解析错误
CS0103:当前上下文中不存在名称“test”
如何转义“@”字符?
@@
应该这样做。
Razor @ 转义字符到符号...
<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">
使用<text></text>
或更简单的方法@:
Instead of HTML entity I prefer the use of @Html.Raw("@")
.
@@ 是上述 Razor 视图中 @ 的转义字符。
然而,Razor 确实会尝试解决“@”只是一个“@”以及它标记 C#(或 VB.Net)代码的位置。这样做的主要用途之一是在 Razor 视图中识别电子邮件地址 - 不必对电子邮件地址中的 @ 字符进行转义。
对于关于 的问题@RazorCodePart1 @@ @RazorCodePart2
,您需要顺序:
@RazorCodePart1 @:@@ @RazorCodePart2
我知道,它看起来有点奇怪,但它可以工作,并且会在代码块之间为您提供文字字符“@”。
我只是有同样的问题。我声明了一个变量,将我的文本与@.
@{
var twitterSite = "@MyTwitterSite";
}
...
<meta name="twitter:site" content="@twitterSite">
这对我有用
<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">
或者你可以使用:@@Alan_van_Buuren
:D
我知道这个问题很老,但我尝试了以上所有方法,但它并没有帮助我在 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
为此,您可以使用@@。喜欢var email = firstName + '\@@' + domain;
只需在 CSHTML 文件中添加一个变量
var myVariable = @"@";
并将其添加到您的布局中
<span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>
我无法在占位符属性中使用其中的任何一个,因此我使用了 xml 特殊字符。
<input type="text" placeholder="fex: firstname@lastname.com"/>
在此处查看更多示例。 https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html
我尝试了上面的所有选项,但都没有奏效。这就是我所做的工作:
@{
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 很酷。
实际上 @ 应该与 Razor 语法关键字或变量/模型一起使用以绑定值。
例如:如果 test 分配了值,即 @ { var test = "ABC" },那么您可以通过设置获取值,因为 @test 任何地方都是 html 部分中的 cshtml 页面。否则,简单用作 @Html.DisplayName("test")