220

有没有办法在页面中注释掉标记,.ASPX这样它就不会传递给客户端?我已经尝试过标准注释<!-- -->,但这只是作为注释传递,并不会阻止控件呈现。

4

8 回答 8

344
<%--
            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”) %>     
--%>

来源

于 2008-09-23T14:35:34.263 回答
73

奖励答案:Visual Studio 中用于注释任何内容的键盘快捷键是Ctrl-KC。这适用于许多地方,包括 C#、VB、Javascript 和 aspx 页面;它也适用于 SQL Management Studio 中的 SQL。

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

于 2008-09-23T16:54:45.067 回答
29

仅供参考 | ctrl+ K,C是 Visual Studio 中的注释快捷方式。ctrl+ KU取消注释。

于 2008-09-24T08:12:01.087 回答
23
<%-- not rendered to browser --%>
于 2008-09-23T14:36:17.287 回答
11

我相信您正在寻找:

<%-- your markup here --%>

这是一个服务器端注释,不会传递给客户端……但这不是可选的。如果你需要它是可编程的,那么你会想要这个答案:-)

于 2008-09-23T14:36:30.313 回答
10

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

<%-- Text not sent to client  --%>
于 2008-09-23T14:36:23.560 回答
8

虽然这有效:

<%-- <%@ 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% 的时间都想做的事情的一部分。

于 2014-11-10T19:07:18.613 回答
4

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

<asp:panel runat="server" visible="false">
    html here
</asp:panel>
于 2008-09-23T14:35:00.943 回答