2009-01-22 5 views
1

Travail sur un ancien site dans asp classic. Je veux écrire une fonction qui retourne du code html. En ce moment je suis réduit à tout écrire dans une chaîne.ob_get_contents équivalent en asp

Les inconvénients sont les suivants:

  • Je dois échapper à des citations
  • Il n'y a pas de complétion de code sur les balises ni les attributs

en php Je sais comment obtenir le contenu de la sortie tampon avec ob_get_contents. Existe-t-il une fonction équivalente dans asp classic?

Répondre

2

Il n'existe aucun moyen d'accéder au contenu du tampon de réponse dans ASP.

Lorsque le code générant une chaîne de contenu HTML devient moche, j'ai tendance à utiliser un document dom MSXML comme un endroit pour créer le contenu. Retournez ensuite la propriété .XML du DOM, non effecient mais quand c'est fait correctement beaucoup plus lisible. Alternativement, si vous savez que la seule chose qui sera faite avec la chaîne une fois retournée est de l'écrire dans la réponse, vous pouvez le faire directement dans la fonction (ou un Sub si vous utilisez VBScript).

est utile de noter que vous faites ce genre de chose dans une procédure Sub en ASP: -

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

Maintenant, vous pouvez appeler writerow dans une boucle. Si vous avez beaucoup de HTML standard avec juste un peu de contenu dynamique, cela peut être une option.