Comment écrire un commentaire dans une vue Razor?

128

Comment écrire un commentaire dans une vue MVC, qui ne sera pas transmis au HTML final (c'est-à-dire au navigateur, à la réponse). On peut faire un commentaire avec:

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

mais, il est visible dans le code source de la page dans le navigateur.

Est-il possible de laisser des commentaires dans les fichiers '.cshtml' uniquement pour un usage interne?

horgh
la source
2
J'ai trouvé un double de ma question: stackoverflow.com/questions/3382903/razor-comment-syntax
horgh
1
Un autre doublon: stackoverflow.com/questions/4467496/…
Nathan Hartley
1
Reproduction possible de la syntaxe des commentaires Razor
Jon Schneider

Réponses:

234

Notez qu'en général, les IDE comme Visual Studio balisent un commentaire dans le contexte de la langue actuelle, en sélectionnant le texte que vous souhaitez transformer en commentaire, puis en utilisant le raccourci Ctrl+ K Ctrl+ C, ou si vous utilisez Resharper / Intelli- Raccourcis de style J, puis Ctrl+ /.

Commentaires côté serveur:

Rasoir .cshtml

Ainsi:

@* Comment goes here *@

.aspx
Pour ceux qui recherchent l'ancienne syntaxe de commentaire côté serveur.aspx vue (et Asp.Net WebForms) :

<%-- Comment goes here --%>

Commentaires côté client

Commentaire HTML

<!-- Comment goes here -->

Commentaire Javascript

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

Comme le mentionne OP, bien que non affichés sur le navigateur, les commentaires côté client seront toujours générés pour la page / fichier de script sur le serveur et téléchargés par la page via HTTP, qui, à moins d'être supprimés (par exemple, la minification), gaspilleront des E / S , et , puisque le commentaire peut être consulté par l'utilisateur en visualisant la source de la page ou en interceptant le trafic avec les outils de développement du navigateur ou un outil comme Fiddler ou Wireshark, peut également poser un risque de sécurité , d'où la préférence d'utiliser les commentaires côté serveur sur le serveur généré code (comme les vues MVC ou les pages .aspx).

StuartLC
la source
2
J'ai oublié de l'essayer))))) J'utilise généralement Ctrl + E, C et Ctrl + E, U. Merci beaucoup
horgh
Cette réponse est incorrecte. Voir l'autre réponse à cette question.
Zackary Geers
@ZackaryGeers Je ne suis pas: la réponse de sobering semble avoir dupliqué ma réponse originale, et j'ai par la suite augmenté pour répondre aux préoccupations du PO concernant le fait de garder les commentaires cachés pour un usage interne. Qu'est-ce qui est incorrect?
StuartLC
1
Mais j'utilise la syntaxe de commentaire C # ( //..., /*...*/) dans la page Razor. Ne devrait-il pas être rendu sous forme de texte?
facepalm42
1
Cela dépend de l'endroit où vous placez le commentaire //. Razor peut avoir des sections C # (désignées par un @ de départ), Html et même des sections JS Script. Les commentaires C # ne seront pas repris par le serveur. Les commentaires en js et html seront envoyés au navigateur. // Les commentaires en Html seront considérés comme du texte et seront probablement visibles par l'utilisateur final.
StuartLC
18

Cette syntaxe de commentaire devrait fonctionner pour vous:

@* enter comments here *@
qui donne à réfléchir
la source