我正在使用 Razor 作为视图引擎创建一个 ASP.NET MVC 3 示例网站。Razor 语法以 @
字符开始,例如 @RenderBody()
。如果我在 cshtml 页面上写 @test,它会给我解析错误:
CS0103:当前上下文中不存在名称“test”
我该如何转义 '@' 字符?
我正在使用 Razor 作为视图引擎创建一个 ASP.NET MVC 3 示例网站。Razor 语法以 @
字符开始,例如 @RenderBody()
。如果我在 cshtml 页面上写 @test,它会给我解析错误:
CS0103:当前上下文中不存在名称“test”
我该如何转义 '@' 字符?
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
我尝试了上面所有的选项,但都不起作用。这是我做的可以解决问题的方法:
@{
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>
在CSHTML文件中添加一个变量
var myVariable = @"@";
并将它添加到您的布局中
<span class="my-class"><a href="@myVariale" target="_blank" >链接文本</a></span>
实际上,@符号应该与Razor语法关键字或变量/模型一起使用以绑定值。
例如: 如果test被赋值为 即 @ { var test = "ABC" } 那么您可以通过在html部分的cshtml页面中设置@test来获取该值。 否则,只需使用@Html.DisplayName("test")
我认为在 Razor 视图中,@Html.Raw()
是最好的解决方案,适用于所有版本,并且对我总是有效。我已经添加了一个工作示例 CDN URL,以提供清晰的想法。
@Html.Raw("<script src=\"https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js\"></script>")
@
括在大括号中。我通过以下方式编写成功实现了这一点:@(@new)
。 - strizzwald