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