ASP a puntate - lez. 13
1
|
2 |
3 |
4
Reindirizzamento di una pagina
In questa guida confronteremo
l'istruzione Response.Redirect con
Server.Tranfer
e Server.Execute.
Per dire al browser di caricare una pagina diversa, si usa
l’istruzione:
Response.Redirect ”pagina.asp”
Tutte le istruzioni dopo questa
vengono ignorate dal browser tranne gli eventuali Headers http.
Il processo agisce in questo modo:
Il client richiede al server la pagina1.asp, che contiene un
redirect alla pagina2.asp; il client allora richiede al server la
pagina2.asp che il server poi gli manda. Il traffico di rete
generato è abbastanza.
Inoltre se non ho messo l’istruzione
Response.Buffer=True
prima del reindirizzamento e il
server ha già spedito del contenuto al browser, appare un errore del
tipo:
Response object error 'ASP 0156 : 80004005'
Per ovviare a questi problemi
Microsoft nell’IIS 5.0 ha inserito un nuovo metodo di
ridirezionamento, il Server.Transfer,
che si invoca in questo modo:
Server.Transfer(“pagina2.asp”)
Il vantaggio di Transfer è nella
sua velocità e nel fatto di essere eseguito direttamente dalla
pagina che lo richiama, che trasferisce immediatamente il controllo
dell'esecuzione dello script alla pagina chiamata.
Inoltre gli oggetti intrinseci di ASP come Session e Application
vengono mantenuti, e l’indirizzo URL non cambia. C’è poi un altro
metodo, il Server.Execute
che richiama da una pagina l’esecuzione di un’altra, e quando questa
è terminata ritorna alla pagina di origine.
La sintassi è sempre la stessa:
Server.Execute(“pagina2.asp”)