いくつかのオプションがありますが、どれを選択するかはいくつかの条件によって異なります...
(1) Diodeus が提案したように、コード ブロックを使用できます。
If rs.count > 0 Then
%>
<form>
<input type="text" id="etc" />
</form>
<%
End If
(2) Yuriy Galanter が提案したように、文字列を連結してフォームを作成できます。
Dim sHTML;
sHTML = "<form>"
sHTML = sHTML & "<input type="text" id="etc" />"
'... etc.'
sHTML = "</form>"
If rs.rcount > 0 Then
Response.Write sHTML
End If
(3) 最初に考えていたように、一度に 1 行または 3 行書き出すことができます。
If rs.rcount > 0 Then
Response.Write "<form>"
Response.Write "<input type="text" id="etc" />" & _
"<input type="text" id="other" />"
'The underscore above indicates that the string/command/etc. continues on the next line, whitespace is ignored.'
Response.Write "</form>"
End If
(4) 上記を自由に組み合わせてご利用いただけます
オプション 1 の利点は、HTML の準備ができていれば、かなり高速で、編集が簡単で、実装が簡単なことです。
オプション 2 の利点は、コンテキストの切り替えについて心配する必要がないことです (ASP 3 ではそれほど問題ではありませんが、十分に読んで調査すれば言及されていることがわかります)、(私の意見では) 簡単です。他のビジネス ロジックに基づいて変更される可能性のあるフォームの部分がある場合 (または、近い将来に必要になると思われる場合) に変数を挿入します。
オプション 3 の利点は、ビジネス ロジックに応じてフォームの一部を条件付きで表示/非表示/変更する方が簡単であることです (それ自体は問題のようには聞こえませんが、覚えておく価値があります)。
状況によっては、上記のいくつかを組み合わせた方法が最善の方法であることがわかる場合があります。文字列を連結すればするほど、メモリ管理が悪化することに注意してください。
テンプレートとより適切に管理された文字列連結を備えたいくつかのライブラリもあります ( ASP-Ajaxed - 完全開示、私は最近プロジェクトを引き継ぎました。まだ公式 Web サイトの再構築に取り組んでいます)。事後にこのようなものを追加することは必ずしも容易ではなく、既存のプロジェクトを変更するだけの場合 (新しいプロジェクトを作成する場合と比べて) やり過ぎになる可能性があります。