Bagaimana cara menulis komentar dalam tampilan Razor?

128

Cara menulis komentar dalam tampilan MVC, yang tidak akan dikirim ke HTML final (yaitu, ke browser, ke respons). Orang dapat berkomentar dengan:

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

tetapi, itu terlihat dalam kode sumber halaman di browser.

Apakah mungkin untuk meninggalkan komentar di file '.cshtml' hanya untuk penggunaan internal?

horgh
sumber
2
Menemukan duplikat dari pertanyaan saya: stackoverflow.com/questions/3382903/razor-comment-syntax
horgh
1
Duplikat lain: stackoverflow.com/questions/4467496/…
Nathan Hartley
1
Kemungkinan duplikat dari sintaks komentar Razor
Jon Schneider

Jawaban:

234

Perhatikan bahwa secara umum, Visual Studio seperti IDE akan menandai komentar dalam konteks bahasa saat ini, dengan memilih teks yang ingin Anda ubah menjadi komentar, dan kemudian menggunakan pintasan Ctrl+ K Ctrl+ C, atau jika Anda menggunakan Resharper / Intelli- Pintasan gaya J, lalu Ctrl+ /.

Komentar sisi server:

Razor .cshtml

Seperti itu:

@* Comment goes here *@

.aspx
Untuk mereka yang mencari .aspxtampilan yang lebih lama (dan Asp.Net WebForms) sintaks komentar sisi server :

<%-- Comment goes here --%>

Komentar Sisi Klien

Komentar HTML

<!-- Comment goes here -->

Komentar Javascript

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

Sebagaimana OP menyebutkan, meskipun tidak ditampilkan di browser, komentar sisi klien masih akan dihasilkan untuk file halaman / skrip di server dan diunduh oleh halaman melalui HTTP, yang kecuali dihapus (mis. Minifikasi), akan menyia - nyiakan I / O , dan , karena komentar dapat dilihat oleh pengguna dengan melihat sumber halaman atau memotong lalu lintas dengan Dev Tools browser atau alat seperti Fiddler atau Wireshark, juga dapat menimbulkan risiko keamanan , maka preferensi untuk menggunakan komentar sisi server pada server yang dihasilkan kode (seperti tampilan MVC atau halaman .aspx).

StuartLC
sumber
2
Lupa mencobanya))))) Saya biasanya menggunakan Ctrl + E, C dan Ctrl + E, U. Terima kasih banyak
horgh
Respons ini salah. Lihat jawaban lain untuk pertanyaan ini.
Zackary Geers
@ZackaryGeers Saya tidak mengikuti - jawaban serius sepertinya telah menggandakan jawaban asli saya, dan saya kemudian menambahkan untuk menanggapi kekhawatiran OP tentang menyembunyikan komentar untuk penggunaan internal. Apa yang salah
StuartLC
1
Tapi saya menggunakan sintaks komentar C # ( //..., /*...*/) di halaman Razor. Bukankah seharusnya benar-benar diterjemahkan sebagai teks?
facepalm42
1
Tergantung di mana Anda menempatkan // komentar. Razor dapat memiliki bagian C # (dilambangkan dengan awal @), Html dan bahkan bagian JS Script bagian. Komentar C # tidak akan digaungkan oleh server. Komentar dalam js dan html akan dikirim ke browser .. // komentar dalam Html akan dianggap sebagai teks dan kemungkinan akan terlihat oleh pengguna akhir.
StuartLC
18

Sintaks komentar ini akan bekerja untuk Anda:

@* enter comments here *@
serius
sumber