Как написать комментарий в представлении Razor?

128

Как написать комментарий в представлении MVC, который не будет передан в окончательный HTML (то есть в браузер для ответа). Можно сделать комментарий с помощью:

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

но это видно в исходном коде страницы в браузере.

Можно ли оставлять комментарии в файлах '.cshtml' только для внутреннего пользования?

Хорг
источник
2
Нашел дубликат моего вопроса: stackoverflow.com/questions/3382903/razor-comment-syntax
horgh
1
Еще один дубликат: stackoverflow.com/questions/4467496/…
Натан Хартли
1
Возможный дубликат синтаксиса комментариев Razor
Джон Шнайдер

Ответы:

234

Обратите внимание, что в целом такие IDE, как Visual Studio, размечают комментарий в контексте текущего языка, выбирая текст, который вы хотите превратить в комментарий, а затем используя ярлык Ctrl+ K Ctrl+ C, или если вы используете Resharper / Intelli- Ярлыки в стиле J, затем Ctrl+ /.

Комментарии на стороне сервера:

Бритва .cshtml

Вот так:

@* Comment goes here *@

.aspx
Для тех, кто ищет более старый синтаксис комментариев на стороне сервера.aspx (и Asp.Net WebForms) :

<%-- Comment goes here --%>

Комментарии на стороне клиента

HTML-комментарий

<!-- Comment goes here -->

Комментарий Javascript

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

Как упоминает OP, хотя и не отображаются в браузере, комментарии на стороне клиента по- прежнему будут генерироваться для файла страницы / сценария на сервере и загружаться страницей через HTTP, что, если оно не будет удалено (например, минификация), приведет к потере ввода-вывода и , поскольку комментарий может быть просмотрен пользователем путем просмотра источника страницы или перехвата трафика с помощью инструментов разработчика браузера или такого инструмента, как Fiddler или Wireshark, также может представлять угрозу безопасности , поэтому предпочтение отдается использованию комментариев на стороне сервера для созданных сервером код (например, представления MVC или страницы ASPX).

StuartLC
источник
2
Забыл попробовать))))) Обычно использую Ctrl + E, C и Ctrl + E, U. Большое спасибо
horgh
Это неверный ответ. См. Другой ответ на этот вопрос.
Zackary Geers 02
@ZackaryGeers Я не слежу - отрезвляющий ответ, похоже, дублировал мой исходный ответ, и впоследствии я добавил, чтобы ответить на опасения OP по поводу скрытия комментариев для внутреннего использования. Что не так?
StuartLC
1
Но я использую синтаксис комментариев C # ( //..., /*...*/) на странице Razor. Разве это не должно быть отображено как текст?
facepalm42
1
Это зависит от того, где вы // разместите комментарий. Razor может иметь разделы C # (обозначенные начальным символом @), разделы Html и даже разделы JS Разделы скриптов. Комментарии C # не будут повторяться сервером. Комментарии в js и html будут отправлены в браузер .. // комментарии в Html будут рассматриваться как текст и, вероятно, будут видны конечному пользователю.
StuartLC 01
18

Этот синтаксис комментария должен работать для вас:

@* enter comments here *@
отрезвление
источник