Razor ViewEngine: How do I escape the "@" symbol?
I'm trying to output some Twitter handles in AS开发者_StackOverflow社区P.NET MVC3 in conjunction with the Twitter @Anywhere API, and I haven't been able to figure out how to actually escape the "@" symbol in a Razor view.
Does anyone know what the syntax is for escaping the "@" character in Razor?
I've tried using <text></text>
and that results in a JIT error.
You have to use @@ to escape the @ symbol.
One important thing to notice is that you DO NOT need to escape the @ symbol when it exists within an email address. Razor should be smart enough to figure that out on its own.
If you are adding Twitter meta tags
and your Twitter username is, say, foobar
it should look like this
<meta name="twitter:site" content=@("@foobar")>
if you need to comment @ symbols in css code and just @@ wont work, use this:
@("@@font-face"){ ... css ...}
I had yet another odd case: pass '@' + @Model.SomeProperty
to a link href.
The best solution for this case was given IMO in this answer to a similar question. Both @@
and @:
didn't work while using the html code @
would complicate things.
So, my code was <a href="~/path/?query=@('@')@Model.SomePropery">
@Html.Raw('@')@Model.SomePropery
would have worked as well.
If you are adding Schema.org JSON-LD Tags, @Matt's answer worked for me:
....
@("@context"): "https://schema.org",
....
精彩评论