Escape @ персонаж в движке бритвы - PullRequest
519 голосов
/ 02 сентября 2010

Я создаю пример сайта ASP.NET MVC 3 с использованием Razor в качестве движка просмотра.Синтаксис бритвы начинается с символа @, например @RenderBody().Если я напишу @test на своей странице cshtml, это выдаст мне ошибку синтаксического анализа

CS0103: имя 'test' не существует в текущем контексте

Как мне выйтисимвол '@'?

Ответы [ 14 ]

1 голос
/ 24 ноября 2016

Вы можете использовать @@ для этой цели. Нравится var email = firstName + '\@@' + domain;

1 голос
/ 27 октября 2015

Я перепробовал все варианты выше и ни один не работал. Вот что я сделал, что сработало:

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

Я создал строковую переменную и передал в нее весь код шаблона RegEx, затем использовал переменную в html, и Razor был крут с ней.

0 голосов
/ 25 июня 2018

На самом деле @ следует использовать с синтаксическим ключевым словом Razor или с переменной / моделью для привязки значения.

Например, если тесту присвоено значение, то есть @ {var test = "ABC"}Вы можете получить значение в настройках, так как @test где угодно - cshtml-страница в html-части.в противном случае просто используйте как @ Html.DisplayName ("test")

0 голосов
/ 27 января 2018

Мне не удалось заставить ни один из них работать внутри моего атрибута-заполнителя, поэтому я использовал специальный символ xml.

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

Смотрите другие примеры здесь.https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html

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