Подтвердить что ты не робот

Символ Escape @в режиме просмотра бритвы

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

CS0103: Имя "тест" не существует в текущем контексте

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

4b9b3361

Ответ 1

@@ должен это сделать.

Ответ 2

Razor @escape char к символам...

<img src="..." alt="Find me on twitter as @("@username")" />

или

<img src="..." alt="Find me on twitter as @("@")username" />

Ответ 3

используйте <text></text> или более простой способ @:

Ответ 4

@Html.Raw("@") кажется мне еще более надежным, чем @@, так как не во всех случаях @@ выйдет.

Таким образом:

<meta name="twitter:site" content="@twitterSite">

:

<meta name="twitter:site" content="@Html.Raw("@")twitterSite">

Ответ 5

Вместо объекта HTML я предпочитаю использовать @Html.Raw( "@" )

Ответ 6

@@- символ escape для @в представлениях Razor, как указано выше.

Однако Razor пытается разобраться, когда "@" является просто "@" и где он маркирует код С# (или VB.Net). Одним из основных применений для этого является идентификация адресов электронной почты в представлении Razor - не обязательно избегать символа @в адресе электронной почты.

Ответ 7

Для вопроса о @RazorCodePart1 @@ @RazorCodePart2 вам потребуется последовательность:

@RazorCodePart1 @:@@ @RazorCodePart2

Я знаю, это выглядит немного странно, но оно работает и даст вам буквальный символ "@" между блоками кода.

Ответ 8

У меня была такая же проблема. Я объявила переменную, поместив мой текст в @.

@{
   var twitterSite = "@MyTwitterSite";
}

...

<meta name="twitter:site" content="@twitterSite">

Ответ 9

эта работа для меня

<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">

Или yoy может использовать: @@Alan_van_Buuren

: D

Ответ 10

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

@{
    string str = @"[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,3}$";
}

<td>Email</td>
<td>
   <input type="text" id="txtEmail" required name="email" [email protected] /> 
</td>

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

Ответ 11

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

Ответ 12

просто добавьте переменную в файл CSHTML var myVariable = @"@"; Код >

и добавьте его в макет <span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span> Код >

Ответ 14

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

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