Como escrever um comentário em uma exibição do Razor?


128

Como escrever um comentário em uma exibição MVC, que não será transmitido para o HTML final (por exemplo, para o navegador, para a resposta). Pode-se fazer um comentário com:

<!--<a href="https://stackoverflow.com/">My comment</a> -->

mas, é visível no código-fonte da página no navegador.

É possível deixar comentários nos arquivos '.cshtml' apenas para uso interno?



2
Encontrei uma duplicata da minha pergunta: stackoverflow.com/questions/3382903/razor-comment-syntax
horgh


1
Possível duplicado da Navalha comentário sintaxe
Jon Schneider

Respostas:


233

Observe que, em geral, IDEs como o Visual Studio marcarão um comentário no contexto do idioma atual, selecionando o texto que você deseja transformar em comentário e, em seguida, usando o atalho Ctrl+ K Ctrl+ Cou se estiver usando o Resharper / Intel- Estilo J, depois Ctrl+ /.

Comentários do lado do servidor:

Razor .cshtml

Igual a:

@* Comment goes here *@

.aspx
Para quem procura a sintaxe de comentário do lado do servidor da .aspxexibição mais antiga (e do Asp.Net WebForms) :

<%-- Comment goes here --%>

Comentários do lado do cliente

Comentário HTML

<!-- Comment goes here -->

Comentário Javascript

// One line Comment goes Here
/* Multiline comment
   goes here */

Como o OP menciona, embora não seja exibido no navegador, os comentários do cliente ainda serão gerados para o arquivo de página / script no servidor e baixados pela página por HTTP, que, a menos que sejam removidos (por exemplo, minificação), desperdiçam E / S e , como o comentário pode ser visualizado pelo usuário, visualizando a origem da página ou interceptando o tráfego com as Ferramentas de Desenvolvimento do navegador ou uma ferramenta como Fiddler ou Wireshark, também pode representar um risco à segurança , daí a preferência por usar comentários do servidor no servidor gerado código (como visualizações MVC ou páginas .aspx).


2
Esqueci de tentar)))))) Eu costumo usar Ctrl + E, C e Ctrl + E, U. Muito obrigado
horgh

Esta resposta está incorreta. Veja a outra resposta a esta pergunta.
Zackary Geers

@ZackaryGeers que eu não estou seguindo - a resposta decepcionante parece ter duplicado minha resposta original e, posteriormente, aumentada para responder às preocupações do OP de manter os comentários ocultos para uso interno. O que está incorreto?
StuartLC

1
Mas eu uso a sintaxe de comentário do C # ( //..., /*...*/) na página Razor. Na verdade, não deveria ser renderizado como texto?
precisa saber é o seguinte

1
Depende de onde você coloca o // comentário. O Razor pode ter seções C # (indicadas por @ inicial), seções HTML e até seções JS. Comentários em C # não serão repetidos pelo servidor. Os comentários em js e html serão enviados ao navegador. // os comentários em html serão considerados como texto e provavelmente estarão visíveis para o usuário final.
StuartLC 01/09/19

18

Essa sintaxe de comentário deve funcionar para você:

@* enter comments here *@
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.