2009-01-22 77 views
1

在asp classic中处理旧网站。 我想写一个函数返回一些html。 现在我简化为将所有内容写入字符串。ob_get_contents等效于asp

的缺点是:

  • 我不得不逃离报价
  • 没有代码完成对标签也不属性

在PHP我知道如何让输出的内容带有ob_get_contents的缓冲区。在asp classic中是否有相同的功能?

回答

2

无法访问ASP中的Response缓冲区内容。

当生成HTML内容字符串的代码变得丑陋时,我倾向于使用MSXML dom文档作为创建内容的位置。然后返回DOM的.XML属性,但效果不好,但完成后可读性更好。

或者,如果您知道一旦返回字符串将完成的唯一事情是将其写入响应,那么您可以直接在函数中执行该操作(或者如果使用VBScript,则为Sub)。

它值得指出的是您在ASP Sub过程做这样的事情: -

Sub WriteRow(first, second) 
%> 
    <tr> 
     <td><%=Server.HTMLEncode(first)%></td> 
     <td><%=Server.HTMLEncode(second)%></td> 
    </tr> 
<% 
End Sub 

现在你可以调用WriteRow在一个循环。如果你有很多样板HTML只有一些动态内容,那么这可能是一个选择。