2010-01-21 2 views
1

Ce qui est une meilleure pratique de codage, avec la vitesse à l'esprit (ASP classique):Response.Write ou ol plaine » HTML

sPg=sPg& "<select id=""actions"" onchange=""emact(this.value)"">" 
sPg=sPg& "<option value=""""></option>" 
sPg=sPg& "<option value=""read"">read</option>" 
sPg=sPg& "<option value=""unread"">unread</option>" 
sPg=sPg& "<option value=""spam"">spam</option>" 
sPg=sPg& "<option value=""unspam"">unspam</option>" 
sPg=sPg& "<option value=""delete"">delete</option>" 
sPg=sPg& "<option value=""undelete"">undelete</option>" 

OU

<select id="actions" onchange="emact(this.value)"> 
<option></option> 
<option value="read">read</option> 
<option value="unread">unread</option> 
<option value="spam">spam</option> 
<option value="unspam">unspam</option> 
<option value="delete">delete</option> 
<option value="undelete">undelete</option> 

pensent cela, mais d'une manière plus grande échelle (backend boutique en ligne écrit de cette façon presque complètement, en travaillant sur une nouvelle version) - Je vais tout convertir en facile à gérer HTML au lieu de response.write chaque fois, mais je veux juste savoir le faire en faisant cela, je ne suis pas me creuser un trou.

Répondre

1

Si vous réécrivez, pourquoi allez-vous utiliser une technologie vieille de 10 ans?

(Utilisez le 2e.)

+0

Ceci est un point fantastique, mais je ne suis pas sûr que j'ai le choix ... mais avant de commencer, je suis à la recherche d'une conversion PHP ... nous verrons. – Eddie

+1

ou .Net s'ils sont déjà un magasin MS. ASP classique -> .NET est très facile (comme Microsoft prévu), vous pouvez choisir les sections que vous souhaitez mettre à niveau (si je me souviens.) – Hogan

0

Ne serait-pas l'argument pour l'utilisation Response.Write sur HTML être le même pour les instructions SQL paramétrage sur des requêtes SQL droites? Signification, pour fermer quelques échappatoires pour une éventuelle injection?

+0

Vous devez toujours désinfecter l'entrée de l'utilisateur - il n'aide pas AFAICT. – Hogan

+1

(avec sql paramétré, le serveur impose le contenu et ne laisse pas le paramètre terminer l'instruction en cours - il mettra également en cache le plan d'exécution dans certains cas). – Hogan

+1

Comment Response.Write ferme-t-il les failles d'injection? Vous devez toujours appeler toute fonction de codage HTML que vous voulez manuellement. – bobince

1

C'est ce que je ferais.

Il n'y a absolument aucune raison d'aller à la création de toute la structure HTML par concaténation de chaînes, et vous gagnerez un peu de performance en passant au HTML.

Il serait également plus facile à gérer, car vous n'aurez pas à vous soucier d'échapper des guillemets et de vous assurer que vos chaînes sont correctement concaténées.

Questions connexes