有没有办法在.ASPX页中注释掉标记?


208

有没有一种方法可以注释掉.ASPX页面中的标记,以便不将其传递给客户端?我已经尝试过标准注释,<!-- -->但这只是作为注释提供,不会阻止控件呈现。

Answers:


326
<%--
            Commented out HTML/CODE/Markup.  Anything with
            this block will not be parsed/handled by ASP.NET.

            <asp:Calendar runat="server"></asp:Calendar> 

            <%# Eval(“SomeProperty”) %>     
--%>

资源


71

奖励答案:Visual Studio中用于注释掉所有内容的键盘快捷键是Ctrl-KC。这在很多地方都可以使用,包括C#,VB,Javascript和aspx页面。它也适用于SQL Management Studio中的SQL。

您可以选择要注释掉的文本,也可以将文本放置在要注释掉的文本块中。例如,将光标放在GridView的开始标记内,按Ctrl-KC,整个内容将被注释掉。




10

是的,服务器端有特殊注释:

<%-- Text not sent to client  --%>


7

尽管这可行:

<%-- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ht_tv1.Default" %> --%>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Blank._Default" %>

不会的

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" <%--Inherits="ht_tv1.Default"--%> Inherits="Blank._Default" %>

因此,您无法注释掉我想在99.9995%的时间内完成的某些事情。


3

假设它不是您要注释掉的服务器端代码的另一种方法是...

<asp:panel runat="server" visible="false">
    html here
</asp:panel>

1
我确实删除了此答案,因为它不是严格的“注释”。但是,乔尔的答案是指我的,因此暂时不删除它。
BigJump

1
asp:PlaceHolder的作用相同,但设计为不生成任何其他HTML。
billpg 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.