Escape @ character in razor view engine

Viewed 281609

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 on my cshtml page it gives me parse error

CS0103: The name 'test' does not exist in the current context

How do I escape '@' character?

15 Answers

I know this question is old, but I tried all of the above and it didn't help me escape the character "@" in ASP.NET framework (MVC 5) inside a URL. Based on Terje Solem's answer though, the UTF-8 code %40 worked for me. this is the original URL I was trying to reach:

https://unpkg.com/@google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js

this is what worked for me in my code:

https://unpkg.com/%40google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js

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>

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")

Related