首页 文章

在剃刀视图引擎中转义@字符

提问于
浏览
495

我正在使用Razor作为视图引擎创建一个示例ASP.NET MVC 3站点 . 剃刀语法以 @ 字符开头,例如 @RenderBody() . 如果我在我的cshtml页面上写@test,它会给我解析错误

CS0103:当前上下文中不存在名称“test”

如何逃脱'@'角色?

14 回答

  • 27

    @Html.Raw("@") 在我看来比 @@ 更可靠,因为在所有情况下 @@ 都不会逃脱 .

    因此:

    <meta name="twitter:site" content="@twitterSite">
    

    将会:

    <meta name="twitter:site" content="@Html.Raw("@")twitterSite">
    
  • 0

    我刚遇到同样的问题 . 我声明了一个变量,用@表示我的文本 .

    @{
       var twitterSite = "@MyTwitterSite";
    }
    
    ...
    
    <meta name="twitter:site" content="@twitterSite">
    
  • 17

    Razor @ escape char to symbols ...

    <img src="..." alt="Find me on twitter as @("@username")" />
    

    要么

    <img src="..." alt="Find me on twitter as @("@")username" />
    
  • 8

    只需在CSHTML文件中添加一个变量 var myVariable = @"@";

    并将其添加到您的布局 <span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>

  • 36

    而不是HTML实体我更喜欢使用@ Html.Raw(“@”)

  • 0

    有关 @RazorCodePart1 @@ @RazorCodePart2 的问题,您需要按顺序:

    @RazorCodePart1 @:@@ @RazorCodePart2
    

    我知道,它看起来有点奇怪,但它可以工作,并会在代码块之间得到文字字符'@' .

  • 0

    我尝试了上面的所有选项,没有一个工作 . 这就是我的工作:

    @{
        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很酷 .

  • 1

    这项工作对我而言

    <meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">
    

    或者你可以使用:@@ Alan_van_Buuren

    :d

  • 786

    @@是Razor视图中@的转义字符,如上所述 .

    然而,当'@'只是一个'@'并且它标记C#(或VB.Net)代码时,Razor会尝试解决问题 . 其中一个主要用途是识别Razor视图中的电子邮件地址 - 没有必要转义电子邮件地址中的@字符 .

  • 2

    实际上@应该与Razor语法关键字一起使用,或者与变量/ model一起使用以绑定Value .

    对于例如:如果测试被分配了值,即@ ,那么您可以通过设置获得值@test,html部分中的cshtml页面 . 否则,简单使用@ Html.DisplayName(“test”)

  • 121

    @@ 应该这样做 .

  • 1

    您可以使用@@来实现此目的 . 喜欢 var email = firstName + '\@@' + domain;

  • 12

    我无法让任何这些在我的占位符属性中工作,所以我使用了xml特殊字符 .

    <input type="text" placeholder="fex: firstname&#64;lastname.com"/>
    

    在此处查看更多示例 . https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html

  • 5

    使用 <text></text> 或更简单的方法 @:

相关问题