撇开其他人已经解决的代码可读性/可维护性问题不谈,您的问题特别是关于当您要插入多个变量时的性能 - 所以我假设您将多次重复您的代码片段之类的东西。在这种情况下,您应该通过使用单个 Response.Write 而不连接所有换行符来获得最佳性能:
Response.Write "<table><tr><td class=""someClass"">" & someVar & "</td></tr></table>"
浏览器不需要换行符或制表符或任何其他漂亮的格式来解析 HTML。如果您要追求性能,则可以删除所有这些。您还将使您的 HTML 输出更小,这将使您的页面加载时间更快。
在单个变量的情况下,它并没有太大的区别。但是对于多个变量,您希望最小化 HTML 和 ASP 之间的上下文切换——每次从一个变量跳转到另一个变量都会受到打击。
为了在构建更长的语句时提高可读性,您可以在源代码(但不是输出)中使用 VBScript 行继续字符和制表符来表示结构,而不会影响您的性能:
Response.Write "<table>" _
& "<tr>" _
& "<td class=""someClass"">" & someVar & "</td>" _
& "</tr>" _
& "<tr>" _
& "<td class=""anotherClass"">" & anotherVar & "</td>" _
& "</tr>" _
& "<tr>" _
& "<td class=""etc"">" & andSoOn & "</td>" _
& "</tr>" _
& "</table>"
它不像 HTML 版本那样易读,但如果您将大量变量放入输出中(即 HTML 和 ASP 之间的大量上下文切换),您会看到更好的性能。
性能提升是否值得,或者你是否会更好地扩展你的硬件是一个单独的问题——当然,这并不总是一个选择。
更新:有关使用 Response.Buffer 提高性能和避免上下文切换的信息,请参阅 Len Cardinal 的这篇 MSDN 文章中的提示 14 和 15:http: //msdn.microsoft.com/en-us/library/ms972335.aspx#asptips_topic15。