2010-12-13 76 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

相關問題