Escape @ персонаж в резервировании двигателя
-
26-09-2019 - |
Вопрос
Я создаю образец сайта ASP.NET MVC 3 с помощью Razor AS Engine Engine. Синтаксис бритвы начинается с @
характер, например, @RenderBody()
. Отказ Если я напишу @test на моей странице CSHTML, это дает мне ошибку разбора
CS0103: Имя «Тест» не существует в текущем контексте
Как уйти «@» персонаж?
Решение
@@
должен сделать это.
Другие советы
Razor @ Escape Char к символам ...
<img src="..." alt="Find me on twitter as @("@username")" />
или
<img src="..." alt="Find me on twitter as @("@")username" />
использовать <text></text>
или более простым способом @:
@Html.Raw("@")
мне кажется, чтобы быть еще более надежным, чем @@
, поскольку не во всех случаях @@
побегусь.
Поэтому:
<meta name="twitter:site" content="@twitterSite">
было бы:
<meta name="twitter:site" content="@Html.Raw("@")twitterSite">
Вместо HTML-объекта я предпочитаю использование @Html.Raw("@")
.
@@ это символ побега для @ в видах из бритвы, как указано выше.
Требуется бритва, однако, пытается постараться работать, когда «@» - это просто «@» и где он отмечает код C # (или VB.Net). Одним из главных применений для этого является идентификация адресов электронной почты на виду из бритвы - нельзя не нужно избежать символа @ на адрес электронной почты.
За вопрос о @RazorCodePart1 @@ @RazorCodePart2
, вам нужно последовательность:
@RazorCodePart1 @:@@ @RazorCodePart2
Я знаю, это выглядит немного странно, но он работает и получит вам буквальный символ «@» между блоками кода.
У меня только что была такая же проблема. Я объявил переменную, положив мой текст с @.
@{
var twitterSite = "@MyTwitterSite";
}
...
<meta name="twitter:site" content="@twitterSite">
Эта работа для меня
<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">
Или yoy можно использовать: @@ alan_van_buuren
: D.
Я пробовал все варианты выше, и никто не работал. Это то, что я сделал это сработало:
@{
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, и бритва была охлаждена с ним.
Вы можете использовать @@ для этой цели. Нравиться var email = firstName + '\@@' + domain;
Просто добавьте переменную в файле cshtml
var myVariable = @"@";
и добавьте его в свой макет
<span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>
Я не мог получить ни одно из них, чтобы работать в моем атрибуте для заполнения, поэтому я использовал XML специальный символ.
<input type="text" placeholder="fex: firstname@lastname.com"/>
Смотрите больше примеров здесь.https://www.dvteclipse.com/documentation/svlinter/how_to_use_special_haracters_in_xml.3f.html.
На самом деле @ следует использовать с ключевыми словами синтаксиса бритвы или в переменной / модели для привязки значения.
Для EG: если тест назначается со значением IE @ {var test = "ABC"}, то вы можете получить значение по настройкам как @test в любом месте - это страница CSHTML в HTML. В противном случае простое использование AS @ HTML.DISPLAYNAME («TEST»)