Escape @ character in razor view engine

后端 未结 15 1829
梦谈多话
梦谈多话 2020-11-22 07:55

I am creating a sample ASP.NET MVC 3 site using Razor as view engine. The razor syntax starts with @ character e.g. @RenderBody(). If I write @test

相关标签:
15条回答
  • 2020-11-22 08:35

    Razor @ escape char to symbols...

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

    or

    <img src="..." alt="Find me on twitter as @("@")username" />
    
    0 讨论(0)
  • 2020-11-22 08:37

    use <text></text> or the easier way @:

    0 讨论(0)
  • 2020-11-22 08:39

    I tried all the options above and none worked. This is what I did that worked :

    @{
        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>
    

    I created a string varible and passed all the RegEx pattern code into it, then used the variable in the html, and Razor was cool with it.

    0 讨论(0)
  • 2020-11-22 08:39

    just add a variable in CSHTML file var myVariable = @"@";

    and add it to your layout <span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>

    0 讨论(0)
  • 2020-11-22 08:43

    I couldn't get any of these to work inside my placeholder attribute, so I used xml special character.

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

    See more examples here. https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html

    0 讨论(0)
  • 2020-11-22 08:43

    Actually @ should be used with the Razor syntax Keywords or to the variable/model to bind a Value.

    For Eg: if test is assigned with value i.e @ { var test = "ABC" } then you can get the value by settings as @test anywhere is cshtml page in html part. otherwise, simple use as @Html.DisplayName("test")

    0 讨论(0)
提交回复
热议问题