Razor 注释语法

132

razor视图中服务器端注释的语法是什么?

我想对这段代码进行注释:

/*
@helper NavItem() {

}
*/

重复问题:https://dev59.com/4G855IYBdhLWcg3wNxgM 和 https://dev59.com/C2ct5IYBdhLWcg3wUb9- - Nathan Hartley
键盘快捷键:CTRL+K,C - Etienne Charland
4个回答

233
@* here is the code to comment *@

37
在Visual Studio中,选中Razor视图中的一些代码/标记,然后按Ctrl+K,Ctrl+C,它会按照上述描述将选择部分注释掉。 - MrBoJangles

50

以下两种方法都可以正常工作

@{
/*
    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
@BuildStarted - True - 或许我有点严厉 :)。 - TheCloudlessSky
嘿,这是基于文本的通信的问题 - 我并没有认为你的回应很严厉 - 我只是想知道微软如何处理注释的问题,所以我想澄清一下。 :) @* @ 注释不会被解析,而 @{//} 和 @{/ */} 注释仍然会被解析 - 这就是它们之间的区别。 - Buildstarted
1
@BuildStarted - 很可能是受到这篇文章的压力:http://weblogs.asp.net/scottgu/archive/2010/11/12/asp-net-mvc-3-server-side-comments-with-razor.aspx#7643364 - TheCloudlessSky
显示剩余3条评论

9
在.cshtml文件中,只需按下 cntrl+k cntrl+c ,您将看到Visual Studio自动添加了注释。(或者, cntrl_k cntrl+u 用于取消注释。)否则,如果您想手动编写,则可以使用。
@* Your Code *@

1

如果在您的视图中,您可以使用标准的HTML <!-- ... //--> 或者.NET风格的<%-- .. --%>吗?


3
顺畅易懂地翻译后:顺便提一下,<%-- --%>仍会输出到客户端。 - Buildstarted
1
内容不会改变,但我发现空格仍然保留在输出中。 - Jonathan Bates
2
当由 Razor 视图引擎处理时,它的输出就像任何其他“html”元素一样。因此,您不会看到内容,因为浏览器不会呈现它。但是它仍然完整地输出。(根据我的 Razor 经验并进行了快速测试) - Buildstarted
1
我刚刚测试了这个(使用预览版1),ASPX注释<%-- --%>似乎可以工作,尽管这是Razor引擎,而不是WebForms/ASPX引擎。然而,更多的测试揭示了Razor会忽略任何ASP标记<% %>中的内容(但保留空格?)。标准HTML注释<!-- -->内的代码仍然会被运行和输出,只有客户端会忽略其内容。 - Lucas
使用HTML注释来注释视图内容时要小心,因为Razor引擎仍会对其进行评估,如果无法编译,则会出现错误--最好使用Razor特定的注释分隔符。 - Christopher King

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