Синтаксис комментариев Razor


116

Каков синтаксис комментария на стороне сервера в режиме бритвы?

Я хочу прокомментировать этот код:

/*
@helper NavItem() {

}
*/


Сочетание клавиш: CTRL + K, C
Etienne

Ответы:


207
@* here is the code to comment *@

36
В визуальной студии выберите код / ​​разметку в вашем представлении бритвы и нажмите Ctrl + K, Ctrl + C, и он прокомментирует выделение, как описано выше.
MrBoJangles

47

Обе следующие работы

@{
/*
    This is a comment
*/}


@//This is another comment

Обновить

С новой бета-версией MVC 3 старые методы выделения не будут работать.

@{
    //This is a comment
}

@{/*
      This is a multi
      line comment
*/}

@*
      This is a comment, as well
*@

Это обновленный метод @//This is a commentи @/* */больше работать не будет.


Я не голосовал против, но этот ответ неверен для RC. @JarrettV имеет правильный способ делать комментарии на стороне сервера.
TheCloudlessSky

2
На самом деле, это все еще правильно, но они добавили новый @* *синтаксис. Итак, теперь есть три способа комментировать. Не только от JarretV.
Сборка началась

@BuildStarted - Верно - возможно, я был немного резковат :).
TheCloudlessSky

Хех, это проблема с текстовым общением - я не считал ваш ответ резким - я просто подумал, может быть, проблема в том, как работают комментарии Microsoft, поэтому я хотел уточнить. :) Комментарии @ * @ не анализируются, тогда как комментарии @ {//} и @ {/ * /} все еще проходят - в этом разница между ними.
Сборка начата

1
@BuildStarted - Скорее всего, давление из-за этого поста: weblogs.asp.net/scottgu/archive/2010/11/12/…
TheCloudlessSky

8

Внутри файла .cshtml просто нажмите cntrl + k и cntrl + c. Вы увидите, что комментарий автоматически добавляется Visual Studio. (В качестве альтернативы, cntrl_k и cntrl + u для раскомментирования). Или, если вы хотите написать его вручную, тогда , просто идите с

@* Your Code *@

1

Если это на ваш взгляд, не могли бы вы использовать стандартный <!-- ... //-->стиль HTML или .NET <%-- .. --%>?


2
<%-- --%> все равно будет выводиться клиенту, кстати
Buildstarted

1
Содержимого нет, но я обнаружил, что пробелы в выводе все еще зарезервированы.
Джонатан Бейтс,

2
Что ж, при обработке механизмом представления Razor он выводится так же, как любой другой элемент «html». Таким образом, вы не увидите контент, потому что он не отображается браузером. Но все равно выводится полностью. (на основе моего опыта работы с бритвой, и я только что очень быстро проверил его)
Сборка начата

Я только что протестировал это (с Preview 1), комментарии ASPX, <%-- --%> похоже, работают, хотя это движок Razor, а не движок WebForms / ASPX. Однако дальнейшее тестирование показывает, что Razor игнорирует что-либо в любых тегах ASP <% %>(но сохраняет пробелы?). Код в стандартных комментариях HTML <!-- -->по-прежнему выполняется и выводится, только клиент проигнорирует его содержимое.
Лукас,

будьте осторожны при использовании комментариев HTML для комментирования содержимого просмотра, так как движок бритвы все равно будет оценивать его, и если он не компилируется, вы получите сообщение об ошибке - лучше использовать разделители комментариев, специфичные для бритвы
Кристофер Кинг
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.