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+k和cntrl+c,你会看到Visual Studio自动添加注释。(或者,cntrl_k 和 cntrl+u 用于取消注释。) 否则,如果您想手动编写它,只需使用
@* Your Code *@
【讨论】:
以上是关于Razor 注释语法的主要内容,如果未能解决你的问题,请参考以下文章