Estou criando um site de amostra do ASP.NET MVC 3 usando o Razor como mecanismo de exibição. A sintaxe do barbeador começa com o @
personagem, por exemplo @RenderBody()
. Se eu escrever @test na minha página cshtml, isso me dará um erro de análise
CS0103: O nome 'teste' não existe no contexto atual
Como faço para escapar do caractere '@'?
razor
asp.net-mvc-3
ajay_whiz
fonte
fonte
@
entre chaves. Eu consegui começar este trabalho por escrito desta forma:@(@new)
Respostas:
@@
deve fazê-lo.fonte
@RazorCodePart1 @@ @RazorCodePart2
por exemplo, um @ literal entre dois trechos de código do Razor.<style>
tag na minha página de barbear, que precisa incorporar uma diretiva '@media {}'; portanto, a codificação html não é uma opção; apenas @@ funciona.Navalha @ escape char para símbolos ...
ou
fonte
usar
<text></text>
ou a maneira mais fácil@:
fonte
@Html.Raw("@")
parece-me ainda mais confiável do que@@
, uma vez que nem em todos os casos@@
escapará.Portanto:
seria:
fonte
Em vez da entidade HTML, prefiro o uso de
@Html.Raw("@")
.fonte
@@ é o caractere de escape para @ nas visualizações Razor, conforme indicado acima.
O Razor, no entanto, tenta resolver quando um '@' é apenas um '@' e onde marca o código C # (ou VB.Net). Um dos principais usos para isso é identificar endereços de email na visualização Razor - não deve ser necessário escapar do caractere @ em um endereço de email.
fonte
Para a pergunta sobre
@RazorCodePart1 @@ @RazorCodePart2
, você precisa da sequência:Eu sei, parece um pouco estranho, mas funciona e você obterá o caractere literal '@' entre os blocos de código.
fonte
Eu apenas tive o mesmo problema. Eu declarei uma variável colocando meu texto com o @.
fonte
esse trabalho pra mim
Ou você pode usar: @@ Alan_van_Buuren
: D
fonte
Você pode usar @@ para esse fim. Gostar
var email = firstName + '\@@' + domain;
fonte
basta adicionar uma variável no arquivo CSHTML
var myVariable = @"@";
e adicione-o ao seu layout
<span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>
fonte
Eu tentei todas as opções acima e nenhuma funcionou. Isto é o que eu fiz que funcionou:
Eu criei uma variável de string e passei todo o código de padrão RegEx para ele, depois usei a variável no html e o Razor foi legal com ela.
fonte
Não consegui fazer com que nenhum deles funcionasse dentro do meu atributo de espaço reservado, então usei o caractere especial xml.
Veja mais exemplos aqui. https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html
fonte
Na verdade, @ deve ser usado com as palavras-chave da sintaxe Razor ou com a variável / modelo para vincular um valor.
Por exemplo: se teste é atribuído com valor, por exemplo, @ {var test = "ABC"}, você pode obter o valor por configurações, pois @test em qualquer lugar é a página cshtml na parte html. caso contrário, use-o como @ Html.DisplayName ("test")
fonte
Sei que essa pergunta é antiga, mas tentei todas as opções acima e não me ajudou a escapar do caractere "@" no ASP.NET full framework (MVC 5) dentro de uma URL. Porém, com base na resposta de Terje Solem, o código UTF-8
%40
funcionou para mim. este é o URL original que eu estava tentando acessar:https://unpkg.com/@google/[email protected]/dist/markerclustererplus.min.js
e com o código:
fonte