你有几个选择,你选择哪一个取决于一些事情......
(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) 你可以按照你最初的想法做,一次写出一行或三行:
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 - 完全公开,我最近接手了这个项目。仍在重建官方网站),带有模板和更好地管理的字符串连接。事后添加这样的东西并不总是那么容易,如果您只是修改现有项目(相对于创建新项目),可能会有点矫枉过正。