Una curiosità: che differenza c'è se il codice ASP viene scritto all'interno o all'esterno dei tag html?
es.:
da così:
<html>
<body>
<%codice ASP%>
</body>
</html>
a così:
<%codice asp%>
<html>
<body>
</body>
</html>
Una curiosità: che differenza c'è se il codice ASP viene scritto all'interno o all'esterno dei tag html?
es.:
da così:
<html>
<body>
<%codice ASP%>
</body>
</html>
a così:
<%codice asp%>
<html>
<body>
</body>
</html>
Nessuna.
Se non si tratta di contenuti che vanno all'interno dei tag HTML è meglio scrviere fuori l'ASP, cercando di separare il più possibile gli script lato server dalla formattazione della pagina.
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
arghhh...
questa non è una curiosità... è il concetto fondamentale del funzionamento dell'asp
non c'è alcuna differenza...
il codice ASP viene analizzato ed eseguito dal server (filtraggio) e viene poi restituito l'output che genera (response.write), nulla più
il risultato finale è puro HTML...
il posizionamento del codice nell'HTML è quindi determinato dal punto in cui vuoi che venga restituito l'output...
se nella pagina non c'è output da ASP il codice lo puoi mettere dove vuoi... non cambia nulla
..![]()
Se ad esempio devo restituire un output dove vengono recuperati dati da un database, e tali dati devono essere visualizzati all'interno di un modulo (se si devono far effettuare modifiche) o all'interno di formattazioni di tabelle html, qual è l'approccio più corretto?
il calcolo del recupero dati lo puoi fare dove vuoi...
la cosa importante (come è ovvio) è la restituzione dell'output nel punto dove ti serve....
non esiste un approccio più corretto...
se il codice è scritto bene, è ottimizzato, dichiarazione di variabili, distruzione dopo il lavoro... etc etc
il meccanismo funzionerà bene...
poi ti basterà fare un <%=variabile%> nel punto in cui ti serve il dato...
----
per ottimizzazioni assolute in teoria dovresti far scrivere l'HTML tutto all'asp, utilizzando un tag <% %> unico
ma per piccole cose è una menata inutile
es
<%
response.write "<html>" & vbcrlf
response.write "<body>" & vbcrlf
...
response.write "</body>" & vbcrlf
response.write "</html>"
%>
di solito faccio così:
<%@language=VBScript%>
<%option explicit%>
' includo i file che mi servono
'dichiari le variabili
'creo i vari oggetti che mi servono
<html>
<body>
' all'interno dei tag html inserisco solo le variabili per l'output,
' visualizzando nei punti desiderati i dati recuperati nel database
</body>
</html>
anche io faccio così (in linea di massima) ed è secondo me + semplice anche per te quando devi vedere che stai mandando a schermo, se i tag html non li fai stampare da asp (parlo nel caso tu usi editor come dreamweaver o simili)
Su questo mi permetto di dissentire.Originariamente inviato da imente
non esiste un approccio più corretto...
se il codice è scritto bene, è ottimizzato, dichiarazione di variabili, distruzione dopo il lavoro... etc etc
il meccanismo funzionerà bene...
L'approcio più corretto è isolare l'ASP dall'HTML, come hai implicitamente segnalato in seguito nel tuo post.
Mi spiego meglio.
Calcolando che una connessione ed eventuali oggetti dovrebbero essere mantenuti attivi il meno possibile e solo per il tempo richiesto, l'approcio più utilizzato è quello di eseguire tutti i calcoli ad inizio pagina, facendo eventualmente uso di Array nel caso ci siano quantitativi di record che debbano essere sparpagliati nella pagina.
Finite le query si chiude il tutto e si manda in output la pagina appoggiandosi, come tu hai anticipato, alle variabili.
Un esempio classico. Spesso vedo cose del tipo (esempio sui dettagli di una news)
- apertura connessione
- query + output dati
- html
- query selezione news
- output dati
- html
- chiusura conn
quando la sequenza corretta sarebbe
- apertura connessione
- query (altri) dati
- query selezione news e valorizzazione vars
- chiusura conn
- html con output
- html con output news
![]()
Non ho ancora provato, ma con questo codice che hai indicato...
- apertura connessione
- query (altri) dati
- query selezione news e valorizzazione vars
- chiusura conn
- html con output
- html con output news
... vuol dire che se assegno i dati recuperati dal database a delle variabili all'interno della connesione, li posso richiamare anche a connessione chiusa, o si devono usare subroutine?
Esatto, puoi inoltre riutilizzarli più volte senza dover tenere la connessione aperta.Originariamente inviato da giannipie
... vuol dire che se assegno i dati recuperati dal database a delle variabili all'interno della connesione, li posso richiamare anche a connessione chiusa