【问题标题】:How to write a comment in a Razor view?如何在 Razor 视图中写评论?
【发布时间】:2012-08-23 16:30:45
【问题描述】:

如何在 MVC 视图中编写不会传输到最终 HTML 的注释(即到浏览器、响应)。可以通过以下方式发表评论:

<!--<a href="/">My comment</a> -->

但是,它在浏览器的页面源代码中是可见的。

是否可以将 cmets 保留在“.cshtml”文件中仅供内部使用?

【问题讨论】:

标签: c# asp.net-mvc-3 razor comments


【解决方案1】:

请注意,一般来说,像 Visual Studio 这样的 IDE 会在当前语言的上下文中标记注释,方法是选择要转换为注释的文本,然后使用 Ctrl+K Ctrl+C 快捷方式,或者如果您使用 Resharper / Intelli-J 风格的快捷方式,那么 Ctrl+/.

服务器端评论:

Razor .cshtml

Like so:

@* Comment goes here *@

.aspx
对于那些寻找旧的.aspx 视图(和 Asp.Net WebForms)server side comment syntax

<%-- Comment goes here --%>

客户端评论

HTML 注释

<!-- Comment goes here -->

Javascript 评论

// One line Comment goes Here
/* Multiline comment
   goes here */

正如 OP 所提到的,虽然没有显示在浏览器上,但客户端 cmets仍然会为服务器上的页面/脚本文件生成,并由页面通过 HTTP 下载,除非将其删除(例如缩小),将浪费 I/O,并且由于用户可以通过查看页面源或使用浏览器的开发工具或 Fiddler 或 Wireshark 等工具拦截流量来查看评论,因此可以还带来安全风险,因此更倾向于在服务器生成的代码(如 MVC 视图或 .aspx 页面)上使用服务器端 cmets。

【讨论】:

  • 忘记尝试了))))) 我通常使用 Ctrl+E,C 和 Ctrl+E,U。非常感谢
  • 此响应不正确。请参阅此问题的其他回复。
  • @ZackaryGeers 我没有关注 - 清醒的答案似乎重复了我的原始答案,我随后增加了对 OP 对隐藏 cmets 以供内部使用的担忧的回应。什么不正确?
  • 但我在 Razor 页面中使用 C# 注释语法(//.../*...*/)。它不应该实际呈现为文本吗?
  • 这取决于您放置 // 注释的位置。 Razor 可以有 C# 部分(由起始 @ 表示)、Html 甚至 JS 部分 Script 部分。 C# cmets 不会被服务器回显。 js 和 html 中的评论将被发送到浏览器.. // Html 中的 cmets 将被视为文本,并且可能对最终用户可见。
【解决方案2】:

这个注释语法应该适合你:

@* enter comments here *@

【讨论】:

    猜你喜欢
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多