ASP.NET MVC3 Razor - @* 是什么意思?

3

由于在谷歌上搜索标点符号比较困难...

我知道在 Razor 中 @ 开始一个代码块,但是 @* 是什么意思呢?据我所知,在 VS 中它开始了一个注释块。如果这与 /* 不同,那么有什么区别呢?


@: 不是预编码的 HTML。它是一个指示给 Razor 解析器,在标记上下文中遇到下一个换行符之前切换到标记模式的指示。 - marcind
@marcind 我说错了,问题已修改以反映这一点。 - 3Dave
2个回答

6

@* 是服务器端的注释:

如果您有以下代码:

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

注释1不起作用,因为您不在服务器模式下。该代码将被发送到浏览器,并显示出来,因为/*不是html注释。

另外,注释3将被发送到客户端。我甚至认为,如果它包含@块,则会在服务器上解析和执行。

注释2和4不会通过线路发送。但第4个有点丑陋。


1

+1,但/* 仍然可以在@{}块中工作(当然,Razor不使用<% %>。) - 3Dave

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接