Escape @ персонаж в резервировании двигателя

StackOverflow https://stackoverflow.com/questions/3626250

  •  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&#64;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»)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top