由于在谷歌上搜索标点符号比较困难...
我知道在 Razor 中 @
开始一个代码块,但是 @*
是什么意思呢?据我所知,在 VS 中它开始了一个注释块。如果这与 /*
不同,那么有什么区别呢?
由于在谷歌上搜索标点符号比较困难...
我知道在 Razor 中 @
开始一个代码块,但是 @*
是什么意思呢?据我所知,在 VS 中它开始了一个注释块。如果这与 /*
不同,那么有什么区别呢?
@* 是服务器端的注释:
如果您有以下代码:
<p>
/* comment 1 */
@* comment 2 *@
<!-- comment 3 -->
@{ /* comment 4 */ }
</p>
注释1不起作用,因为您不在服务器模式下。该代码将被发送到浏览器,并显示出来,因为/*不是html注释。
另外,注释3将被发送到客户端。我甚至认为,如果它包含@块,则会在服务器上解析和执行。
注释2和4不会通过线路发送。但第4个有点丑陋。
对于ASP.NET Razor注释,您可以使用@*开始注释,并使用*@结束。注释可以在一行或多行上。
如果我理解正确,/*
仅适用于<% %>
块内部,因为/* */
是C#语法的注释。您可以从<% %>
块外部编写@*
。
因此,不要像这样编写注释:
<% /* This is
a multiline comment */ %>
它可以写成:
@* This is
a multiline comment *@
@:
不是预编码的 HTML。它是一个指示给 Razor 解析器,在标记上下文中遇到下一个换行符之前切换到标记模式的指示。 - marcind