Razor ViewEngine: как мне избежать символа "@"? - PullRequest
93 голосов
/ 13 марта 2011

Я пытаюсь вывести некоторые дескрипторы Twitter в ASP.NET MVC3 в сочетании с API Twitter @Anywhere, и мне не удалось выяснить, как на самом деле экранировать символ «@» в представлении Razor.

Кто-нибудь знает, что такое синтаксис для экранирования символа "@" в Razor?

Я пытался использовать <text></text>, и это приводит к ошибке JIT.

Ответы [ 4 ]

132 голосов
/ 13 марта 2011

Вы должны использовать @@ для экранирования символа @.

Важно отметить, что вам НЕ нужно экранировать символ @, если он существует в адресе электронной почты.Бритва должна быть достаточно умна, чтобы понять это самостоятельно.

21 голосов
/ 12 января 2016

Если вы добавляете метатеги Twitter

и ваше имя пользователя в Twitter, скажем, blrbr (следуйте за мной;))

это должно выглядеть так

<meta name="twitter:site" content=@("@blrbr")>
15 голосов
/ 04 апреля 2011

, если вам нужно комментировать символы @ в коде CSS и просто @@ не будет работать, используйте это:

@("@@font-face"){ ... css ...}
2 голосов
/ 03 сентября 2015

У меня был еще один странный случай: передать '@' + @Model.SomeProperty ссылку href.

Лучшее решение для этого случая было дано ИМО в этот ответ на аналогичный вопрос. И @@, и @: не работали, в то время как использование HTML-кода &#64; усложнило бы ситуацию.

Итак, мой код был <a href="~/path/?query=@('@')@Model.SomePropery">

@Html.Raw('@')@Model.SomePropery тоже бы сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...