ASP.NET MVC3 Razor - Что делает @ *? - PullRequest
       5

ASP.NET MVC3 Razor - Что делает @ *?

3 голосов
/ 02 февраля 2011

Поскольку в Google довольно сложно найти знаки пунктуации ...

Я знаю в Razor, что @ запускает блок кода, но что делает @*?Насколько я могу судить в VS, он запускает блок комментариев.Если это отличается от /*, как?

Ответы [ 2 ]

6 голосов
/ 02 февраля 2011

@ * - комментарий на стороне сервера:

Если у вас есть такой код:

<p>
   /* comment 1 */
   @* comment 2 *@
   <!-- comment 3 --> 
   @{ /* comment 4 */ }
</p>

комментарий 1 не будет работать, потому что вы не находитесь в режиме сервера. Этот код будет отправлен браузеру, и браузер покажет его, потому что / * не является HTML-комментарием.

Также комментарий 3 будет отправлен клиенту. И я даже думаю, что он будет проанализирован и выполнен на сервере, если он содержит @ blocks.

Комментарии 2 и 4 не будут отправлены через линию. но номер 4 немного уродлив.

1 голос
/ 02 февраля 2011

От: http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax

Для комментариев к ASP.NET Razor вы начинаете комментарий с @ * и заканчиваете * @. Комментарий может быть в одну или несколько строк.

И если я правильно вас понимаю, /* применяется только из блока <% %>, потому что /* */ - это синтаксис C # для комментария. Вы можете написать @* снаружи блока <% %>. Поэтому вместо того, чтобы писать комментарии типа

<% /* This is
a multiline comment */ %>

Это может быть записано как:

@* This is
a multiline comment *@
...