2010-12-13 7 views
16

<%-- --%>と同等のものはASP Classicにありますか?サーバー側のコメント:ASP Classicには<%-- --%>に相当するものは何ですか?

私は、従来のASPアプリケーションを変更する必要があり、私はHTMLのブロックをコメントアウトしたいと思います:

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

私はASP.NETでやるだろうと、<%-- ... --%>のすべてをしないラッピングコンパイルエラー "Expected statement"が発生します。 HTMLコメント<!-- ... -->は、インラインASP式が評価されて失敗するため、オプションでもありません。

答えて

17

ASPクラシックでブロックコメントを行うための「組み込み」の方法はありません。あなたは実行したくない各行の前に'を置く必要があります。

+1

... *とコメントブロック内のすべての '%>'の間にスペースを入れます。それは私が現在やっていることです。あまりにも悪いので、より洗練されたソリューションはありません。 – Heinzi

+0

最初の文章が私の質問に答えるので、受け入れます。 (私が望んでいた答えではありませんが...) – Heinzi

+3

実際にブロックコメントメカニズムを持たない唯一のVBScriptは、VBScriptとASPを混同するのは簡単です。 ASPページの中に "表示されます。 Javascriptは/ * * /を持ち、HTMLはです。 ASPスクリプトプロセッサにも1つ、私の答えを参照してください。 – AnthonyWJones

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

+1

@Heinziのようなブロックレベルの構造があることを期待していました。テキストエディタは、このようなコメントを一括して追加/削除することができます。 –

4

これはソースコントロールの対象です。チェックしたときにコードを削除して適切にマークするだけで、後で必要に応じてスニペットを見つけることができます。

+0

+1。一般的に私は同意し、私たちは(現在の.netベースの)プロジェクトに対してバージョン管理を使用しています。さまざまな理由から、これはこのレガシープロジェクトのオプションではありません。 – Heinzi

+1

はい、誰もASPクラシックプロジェクトをバージョン管理に切り替えることはありません。 –

+2

@BaileySすべての古典的なaspプロジェクトをSVNリポジトリを通して実行し、戻ってこないでしょう。 – Lankymart

3

@Heinzi:あなたはジョエルCoehoornの優れたソリューションを使用することはできませんので、あなたも

<% 
Dim blnDebug : blnDebug = True 

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

のようなものを使用することができます...そして、あなたがオンにする準備ができたら、ファイルのハックと効果的に「コメントアウト」したコードは、blnDebugFalseに設定するだけです。それは私のためのすべてのインラインコードコールの前にアポストロフィを置くのに勝つ。

0

私はいつもコメントアウト方法が使用されます。

<%'=Var%> 
24

これを試してください: -

<!-- METADATA 
    Your comments here 
--> 

METADATAが、これは送信する必要がありませんコメントであることをASPプロセッサに指示しますクライアントに送信します。

+0

これは有望だと思う - 私は明日試してみるよ。そのものはどこかに書かれていますか?私は 'asp" METADATAディレクティブ "のためのグーグルを試みて、"多くの参照が見つかりましたが、 "公式仕様"はありません... – Heinzi

+4

魅力のように動作します!それでも、これは常にコメントとして解釈されます(無視されます)。私がMETADATAを使用してオンラインで見つけた例は、METADATAに続くものに基づいて、何か*(何らかのCOMコンポーネントをロードするなど)を*常に行います。私はこれを見つけました:http://msdn.microsoft.com/en-us/library/ms525307.aspx、これはMETADATAの主な目的がライブラリをロードすることを暗示しているようです。だから、「コメントアウト」のためにそれを使用する可能性が(偶発的な)副作用であるのだろうかと疑問に思っています。 – Heinzi

+1

これは私の本の正解です。誰もがASPでのコメントのサポートが不十分であることを知っていますが、この答えは実際に議論に何か新しいものを追加します。 –

0

あなたのコードにコメントをブロックするための別の方法は、私がいることを知っている...あなたはコメントをすることなどのように、標準のHTMLコメントを挿入したいポイントでバックのVBScriptのうち

<% 
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

+0

真ですが、これは明らかに開発用にのみ使用し、test/UAT/live用には削除する必要があります。 – Paul

2

をエスケープすることですDreamweaverでこれを行うことができます。私は同僚がそれをやっているのを見ました。 しかし私はVisual StudioやNotepad ++をほとんど使用していますが、この機能は動作しません。

だから私は押すことで、単一引用符、'の特殊な貼り付けを使用して複数の行をコメントしています:

Shiftキー + Altキーは+下矢印または上、単一引用符、'を追加します。

また、すべての行ですべて'を選択して削除することで、コメントを解除する場合も同じです。ここで

Enter image description here

Enter image description here

4

私は簡単に混合コードのブロック全体をコメントアウトする方法である。

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

私はこれを何度もしなければならなかった場合、私はいくつかの種類になるだろう私のコンピュータがホットキーでこれを行うためのマクロ。

+1

これは厄介な問題の賢明な小さな解決策です。再び古典的なASPで再び作業する必要があるという問題を超えて... –

関連する問題