2010-12-13 143 views
16

ASP Classic中的<%-- --%>是什么?服务器端评论:ASP Classic中<%-- --%>的等效物是什么?

我要修改一个传统的ASP应用程序,我想注释掉HTML块:

<td> 
    some table cell I'd like to comment out, including 
    some <%= inlineServerSideVBScriptExpressions() %> 
</td> 

<%-- ... --%>包装纸的一切,因为我想在ASP.NET做,不工作并导致编译错误“预期陈述”。 HTML注释<!-- ... -->也不是一个选项,因为内联ASP表达式会被评估并失败。

回答

17

在ASP Classic中没有“内置”方式来执行块注释。你必须在你不想运行的每一行之前加上'

+1

... *和*在该注释块内所有出现的'%>之间放置一个空格。这就是我目前正在做的事情;太糟糕了,没有更优雅的解决方案。 – Heinzi 2010-12-13 17:09:52

+0

接受,因为你的第一句话回答我的问题。 (不是我希望的答案,但仍然...) – Heinzi 2010-12-13 17:10:55

+3

实际上,它唯一的VBScript没有块注释机制,它很容易将ASP与VBScript混淆,因为当VBScript代表“VBScript”在ASP页面内“。 Javascript有/ * * /,HTML有。 ASP脚本处理器也有一个,请参阅下面的答案。 – AnthonyWJones 2010-12-14 12:31:24

5

VBScript支持撇号式评论。他们可能在这里工作。

处理脚本时会将其删除,但不会发送到浏览器。

<% 
    'This line and the following two are comments. 
    'The function below does something ineluctable. 
    'So don't mess with it. 
    SomeFunction() 
%> 

这是source for this

+1

+1。是的,这是我目前使用的解决方法。我希望会有一些块级结构像<% - ... – Heinzi 2010-12-13 17:10:24

+1

@Heinzi文本编辑器很可能可以帮助您批量添加/删除此类评论。 – 2014-08-09 21:35:59

4

这是源代码控制的用途。只需删除代码并在检查时对其进行适当标记,以便稍后在需要时查找该代码段。

+0

+1。总的来说,我同意,我们确实使用版本控制来处理(基于.net的)当前项目。由于各种原因,这不是这个传统项目的选择。 – Heinzi 2010-12-13 17:13:25

+1

是的,没有人将他们的ASP经典项目切换到版本控制。 – 2013-04-23 22:53:19

+2

@BaileyS通过SVN仓库运行我所有的经典asp项目,永远不会回头。 – Lankymart 2014-08-06 16:00:07

3

@Heinzi:既然你不能使用乔尔Coehoorn的优秀的解决方案,你也可以使用类似

<% 
Dim blnDebug : blnDebug = True 

If NOT blnDebug Then 
    ' Display mixed HTML/ASP code 
%> 
HTML, HTML .. <%=someASPfunction() %> .. more HTML 
<% 
End If 
%> 

...然后谬以千里的文件,当您准备好开启您已有效“注释掉”的代码,只需将blnDebug设置为False即可。它在每一个内嵌代码调用前都会跳出撇号。

0

我总是注释掉的方法是使用:

<%'=Var%> 
24

试试这个: -

<!-- METADATA 
    Your comments here 
--> 

METADATA指示到ASP处理器,这是不需要发送评论给客户。

+0

现在听起来很有希望 - 明天我会试试看。这些东西是否记录在某处?我尝试使用'asp“METADATA伪指令”'搜索谷歌并发现了很多参考,但没有“官方说明”... – Heinzi 2010-12-14 13:23:39

+4

工作就像一个魅力!不过,你确定这总是被解释为评论(即被忽略)吗?我使用METADATA在线上找到的例子总是*根据METADATA之后的东西做一些事情(加载一些COM组件等)。我发现这个:http://msdn.microsoft.com/en-us/library/ms525307.aspx,这似乎暗示METADATA的主要目的是加载库。所以,我想知道是否可以使用它来“注释”这些东西只是一种(意外的)副作用...... – Heinzi 2010-12-15 14:20:56

+1

这是我书中的正确答案。大家都知道ASP的评论支持不多,但这个答案确实为讨论增添了新的内容。 – 2013-04-23 22:59:57

0

另一种方式来阻止注释你的代码是逃回出的VBScript在想要的评论是,插入标准的HTML注释,像这样的点...

<% 
Dim myVar 
Do 
    SomeStuff args 
Until fedUp 
%> 
<!--       <== Start here 
BlockCommentedOut myVar 
myVar = 123 
-->        <== End here 
<% 
'In line comments. 
For i = 0 To 150 
    DoStuff myVar 
Next 
%> 
+0

不错的主意,但是,不幸的是,它也会让您的(块注释)代码在HTML中显示给客户端,这可能是一个安全问题。 – Heinzi 2015-10-15 14:04:57

+0

的确如此,但是这显然只能用于开发和移除测试/ UAT/live。 – Paul 2015-10-15 14:55:36

2

我知道,你可以在Dreamweaver中做到这一点;我看到我的同事在做这件事。 但是我大部分时间都在使用Visual Studio或Notepad ++,并且此功能在此处不起作用。

所以我评论使用单引号,',特殊粘贴多行按:

+ Alt键+箭头向上或向下,然后添加一个单引号,'

与同为在所有线路选择所有'秒,然后删除取消注释'

Enter image description here

Enter image description here

4

这里是我可以很容易地注释掉的混合代码的整个块:

<% If False Then %> 
    <html stuff></html stuff> 
    <% more asp stuff %> 
<% End If %> 

如果我不得不这样做很多时候我会做某种宏我的电脑通过热键来做到这一点。

+1

这是一个令人讨厌的问题的聪明小解决方案。除了必须再次在经典asp中工作的问题之外...... – 2017-07-20 23:57:37

相关问题