¿Cómo escribir un comentario en una vista Razor?

128

Cómo escribir un comentario en una vista MVC, que no se transmitirá al HTML final (es decir, al navegador, a la respuesta). Se puede hacer un comentario con:

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

pero es visible en el código fuente de la página en el navegador.

¿Es posible dejar comentarios en archivos '.cshtml' solo para uso interno?

horgh
fuente
2
Encontré un duplicado de mi pregunta: stackoverflow.com/questions/3382903/razor-comment-syntax
horgh
1
Otro duplicado: stackoverflow.com/questions/4467496/…
Nathan Hartley
1
Posible duplicado de la sintaxis de comentarios
Jon Schneider

Respuestas:

234

Tenga en cuenta que, en general, los IDE como Visual Studio marcarán un comentario en el contexto del idioma actual, seleccionando el texto que desea convertir en un comentario y luego utilizando el acceso directo Ctrl+ K Ctrl+ C, o si está utilizando Resharper / Intelli- Atajos de estilo J, luego Ctrl+ /.

Comentarios del lado del servidor:

Razor .cshtml

Al igual que:

@* Comment goes here *@

.aspx
Para aquellos que buscan la sintaxis de comentarios del lado del servidor de.aspx vista anterior (y Asp.Net WebForms) :

<%-- Comment goes here --%>

Comentarios del lado del cliente

Comentario HTML

<!-- Comment goes here -->

Comentario Javascript

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

Como OP menciona, aunque no se muestra en el navegador, los comentarios del lado del cliente aún se generarán para el archivo de página / script en el servidor y se descargarán por la página a través de HTTP, que a menos que se elimine (por ejemplo, minificación), desperdiciará E / S , y , dado que el usuario puede ver el comentario al ver la fuente de la página o al interceptar el tráfico con las herramientas de desarrollo del navegador o una herramienta como Fiddler o Wireshark, también puede presentar un riesgo de seguridad , de ahí la preferencia de usar comentarios del lado del servidor en el servidor generado código (como vistas MVC o páginas .aspx).

StuartLC
fuente
2
Olvidé probarlo))))) Usualmente uso Ctrl + E, C y Ctrl + E, U. Muchas gracias
horgh
Esta respuesta es incorrecta. Vea la otra respuesta a esta pregunta.
Zackary Geers
@ZackaryGeers que no estoy siguiendo: la respuesta aleccionadora parece haber duplicado mi respuesta original, y posteriormente he aumentado para responder a las preocupaciones del OP sobre mantener los comentarios ocultos para uso interno. ¿Qué es incorrecto?
StuartLC
1
Pero uso la sintaxis de comentario de C # ( //..., /*...*/) en la página Razor. ¿No debería realmente representarse como texto?
facepalm42
1
Depende de dónde coloque el // comentario. Razor puede tener secciones C # (indicadas por una @ inicial), Html e incluso secciones JS Secciones de script. Los comentarios de C # no se harán eco del servidor. Los comentarios en js y html se enviarán al navegador .. // los comentarios en html se considerarán como texto y probablemente serán visibles para el usuario final.
StuartLC
18

Esta sintaxis de comentarios debería funcionar para usted:

@* enter comments here *@
aleccionador
fuente