Razor ViewEngine: Как мне избежать символа "@"?

Я пытаюсь вывести несколько твитовских дескрипторов в ASP.NET MVC3 в сочетании с API Twitter @Anywhere, и я не смог понять, как фактически избежать символа "@" в представлении "Бритва".

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

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

Ответ 1

Вы должны использовать @@, чтобы избежать символа @.

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

Ответ 2

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

и ваше имя пользователя Twitter - это, скажем, blrbr (follow me;))

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

<meta name="twitter:site" [email protected]("@blrbr")>

Ответ 3

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

@("@@font-face"){ ... css ...}

Ответ 4

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

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

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

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