Jak napisać komentarz w widoku Razor?


133

Jak napisać komentarz w widoku MVC, który nie zostanie przesłany do końcowego kodu HTML (tj. Do przeglądarki, w celu uzyskania odpowiedzi). Można zrobić komentarz za pomocą:

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

ale jest widoczny w kodzie źródłowym strony w przeglądarce.

Czy można zostawiać komentarze w plikach „.cshtml” tylko do użytku wewnętrznego?



2
Znalazłem duplikat mojego pytania: stackoverflow.com/questions/3382903/razor-comment-syntax
horgh


Odpowiedzi:


241

Zauważ, że generalnie IDE, takie jak Visual Studio, będą oznaczać komentarz w kontekście bieżącego języka, wybierając tekst, który chcesz zamienić na komentarz, a następnie używając skrótu Ctrl+ K Ctrl+ Club jeśli używasz Resharper / Intelli- Skróty w stylu J, a następnie Ctrl+ /.

Komentarze po stronie serwera:

Razor .cshtml

Tak jak to:

@* Comment goes here *@

.aspx
Dla tych, którzy szukają starszego .aspxwidoku (i Asp.Net WebForms) składni komentarzy po stronie serwera :

<%-- Comment goes here --%>

Komentarze po stronie klienta

Komentarz HTML

<!-- Comment goes here -->

Komentarz JavaScript

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

Jak wspomina OP, chociaż nie są wyświetlane w przeglądarce, komentarze po stronie klienta będą nadal generowane dla pliku strony / skryptu na serwerze i pobierane przez stronę przez HTTP, które, jeśli nie zostaną usunięte (np. Minifikacja), będą marnować I / O , oraz ponieważ komentarz może być wyświetlony przez użytkownika, przeglądając źródło strony lub przechwytując ruch za pomocą narzędzi deweloperskich przeglądarki lub narzędzia takiego jak Fiddler lub Wireshark, może również stanowić zagrożenie bezpieczeństwa , stąd preferencja używania komentarzy po stronie serwera na generowanych przez serwer kod (np. widoki MVC lub strony aspx).


2
Zapomniałem spróbować))))) Zwykle używam Ctrl + E, C i Ctrl + E, U.
Wielkie

Ta odpowiedź jest nieprawidłowa. Zobacz inną odpowiedź na to pytanie.
Zackary Geers

@ZackaryGeers, których nie śledzę - wydaje się, że odpowiedź trzeźwiącego powiela moją pierwotną odpowiedź, a następnie rozszerzyłem, aby odpowiedzieć na obawy OP dotyczące ukrywania komentarzy do użytku wewnętrznego. Co jest niepoprawne?
StuartLC

1
Ale używam składni komentarza C # ( //..., /*...*/) na stronie Razor. Czy nie powinien faktycznie być renderowany jako tekst?
mekb

1
To zależy, gdzie umieścisz // komentarz. Razor może mieć sekcje C # (oznaczone początkowym @), Html, a nawet sekcje JS Sekcje skryptów. Komentarze C # nie zostaną powtórzone przez serwer. Komentarze w js i html zostaną przesłane do przeglądarki. // komentarze w html będą traktowane jako tekst i prawdopodobnie będą widoczne dla użytkownika końcowego.
StuartLC

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.