Razor 注释语法

Posted

技术标签:

【中文标题】Razor 注释语法【英文标题】:Razor comment syntax 【发布时间】:2011-03-23 21:53:33 【问题描述】:

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

我想评论这段代码:

/*
@helper NavItem() 


*/

【问题讨论】:

重复:***.com/questions/4467496/… 和 ***.com/questions/12171576/… 键盘快捷键:CTRL+K,C 【参考方案1】:

如果在您看来,您不能使用标准 html <!-- ... //--> 或 .NET 样式 <%-- .. --%>

【讨论】:

<%-- --%> 仍然会输出到客户端 btw 内容没有,但我发现输出中仍然保留了空格。 好吧,当被 Razor 视图引擎处理时,它的输出就像任何其他“html”元素一样。所以你不会看到内容,因为它不是由浏览器呈现的。但它仍然是完整的输出。 (根据我使用剃须刀的经验,并且很快就对其进行了测试) 我刚刚测试了这个(使用预览版 1),ASPX cmets <%-- --%> 似乎 可以工作,即使这是 Razor 引擎,而不是 WebForms/ASPX 引擎。然而,更多测试表明 Razor 会忽略 any ASP 标记 <% %> 中的任何内容(但保留空格?)。标准 HTML cmets <!-- --> 中的代码仍在运行和输出,只有客户端会忽略其内容。 小心使用 HTML cmets 注释掉视图内容,因为 razor 引擎仍会评估它,如果它不编译,您将收到错误 - 最好使用 razor 特定的注释分隔符 【参考方案2】:

以下两项工作

@
/*
    This is a comment
*/


@//This is another comment

更新

随着 MVC 3 的新 Beta 版的推出,旧的突出显示方法将无法使用。

@
    //This is a comment


@/*
      This is a multi
      line comment
*/

@*
      This is a comment, as well
*@

更新后的方法@//This is a comment@/* */ 是否将不再起作用。

【讨论】:

我没有投反对票,但从 RC 开始,这个答案是错误的。 @JarrettV 有做服务器端 cmets 的正确方法。 实际上,它仍然是正确的,但他们添加了一个新的@* * 语法。所以现在有三种评论方式。不只是 JarretV 的那个。 @BuildStarted - 是的 - 也许我有点苛刻:)。 嘿,这是基于文本的通信的问题——我不认为你的回答很苛刻——我只是认为微软所说的 cmets 的工作方式可能存在问题,所以我想澄清一下。 :) @* @ cmets 不被解析,而 @// 和 @/ */ cmets 仍然是 - 这就是它们之间的区别。 @BuildStarted - 很可能来自这篇文章的压力:weblogs.asp.net/scottgu/archive/2010/11/12/…【参考方案3】:
@* here is the code to comment *@

【讨论】:

在 Visual Studio 中,在您的 razor 视图中选择一些代码/标记,然后按 Ctrl+K、Ctrl+C,它会如上所述注释选择。【参考方案4】:

在.cshtml文件中,按cntrl+kcntrl+c,你会看到Visual Studio自动添加注释。(或者,cntrl_kcntrl+u 用于取消注释。) 否则,如果您想手动编写它,只需使用

@* Your Code *@

【讨论】:

以上是关于Razor 注释语法的主要内容,如果未能解决你的问题,请参考以下文章

Blazor_WASM之2:Razor语法

Razor语法大全

Razor语法大全

浅谈MVC Razor基本语法

十:Razor语法

Razor语法