L'oggetto
Response consente di restituire informazioni al browser.
Sintassi:
Response.collection|property|method |
L'oggetto
Response: Collections |
Collections
|
Significato
|
Cookies |
il
valore dei coookies |
Sintassi:
Response.Cookies(cookie)[(key)|.attributo]
= valore |
cookie
specifica quale cookie scrivere
key parametro opzionale; la chiave contenuta nel cookie
alla quale attribuire il valore
attributo sono consentiti i parametri:
Domain
se specificato il cookie viene inviato solo a richieste a
questo dominio
Expires
data di scadenza del cookie; se non specificata scade alla
fine della sessione
Path
se specificata il cookie viene inviato solo a richieste a
tale Path; altrimenti è quella dell'applicazione
Secure
specifica se è sicuro o meno
Si utilizzano i Cookies per memorizzare informazioni sull'utente;
un caso tipico sono i login a portali, community, forum; ad
esempio se vogliamo memorizzato nel cookie ForumASP763 il
nickname nella chiave UserID, la password nella chiave Pwd
e l'indirizzo e-mail nella chiave EMail (tutti questi dati
ci sono stati passati in un Form dalla pagina chiamante, quella
della registrazione e ci accediamo tramite l'oggetto Request
che vedremo nella prossima lezione) scriveremo nella pagina
ASP :
<%
Response.Cookies("ForumASP763")("UserID")
= Request.Form("nickname")
Response.Cookies("ForumASP763")("Pwd")
= Request.Form("password")
Response.Cookies("ForumASP763")("EMail")
= Request.Form("email")
Response.Cookies("ForumASP763").Expires = Date
+ 365
%>
|
Da
segnalare che se dopo avere attribuito chiavi ad un cookie
si attribuisce un valore al cookie (ad es: Response.Cookies("ForumASP763")
= "non registrato") si eliminano tutte le chiavi
ed i loro valori (si dice che il cookie è senza Dictionary).
L'oggetto
Response: Proprietà |
Proprietà
|
Significato
|
Buffer |
indica
se l'output deve essere bufferizzato o meno |
CacheControl |
indica
se server proxy possono memorizzare nella cache
output generati da ASP |
Expires |
il
tempo in cui la pagina rimane nella cache del browser,
in minuti |
ExpiresAbsolute |
la
data e ora fino alla quale la pagina rimane nella
cache del browser |
IsClientConnected |
indica
se l'utente è ancora connesso al server |
Status |
il
valore della stringa di stato restituita dal server |
Charset |
aggiunge
il set di caratteri alla content- type header |
ContentType |
il
content-type HTTP per la pagina generata |
Pics |
aggiunge
un valore PICS all'omonimo campo dell'header |
Buffer
La generazione della pagina HTML da inviare al browser avviene
in un buffer nella memoria del server e viene inviata al termine
dell'elaborazione, quando è stata completata; tramite
la proprietà Buffer possiamo controllare tale modalità
(vedere anche i metodi Redirect, Flush ed End).
Sintassi:
Response.Buffer
= False|True |
CacheControl,
Expires, ExpiresAbsolute
Tramite queste proprietà possiamo controllare la permanenza
della pagina ASP nella memoria cache dei server proxy o del
browser (anche per motivi di sicurezza), ad esempio impostando:
IsClientConnected,
Status
Si tratta di proprietà read only da utilizzare per
controllare il collegamento client-server.
Charset, ContentType, Pics
Si tratta di proprietà che controllano l'header HTTP
inviato al browser; si utilizzano quando tramite ASP si genera
una intera pagina HTML, ovvero quasi mai.
L'oggetto
Response: Metodi |
Metodi
|
Significato
|
AddHeader |
setta
un name nell'Header ad un valore (sconsigliato) |
AppendToLog |
aggiunge
una stringa al server log |
BynaryWrite |
scrive
l'output HTTP senza effettuare la conversione dei
caratteri |
Clear |
svuota
il contenuto del buffer |
End |
termina
l'elaborazione del file ASP |
Flush |
trasmette
quanto contenuto nel buffer |
Redirect |
invia
al browser la stringa di connessione ad una nuova
URL |
Write |
scrive
nell'output HTTP (il più usato in una pagina
ASP) |
Clear,
End, Flush
Il primo e l'ultimo di questi metodi hanno ovviamente senso
solo se:
Il
metodo End prima di terminare l'elaborazione della pagina
ASP trasmette al browser l'eventuale contenuto del Buffer:
se quest'ultimo non è stato impostato a False e non
si vuole generare output premettere Response.Clear a Response.End.
Redirect
In pratica passa alla pagina URL; perché funzioni correttamente
è necessario avere impostato Response.Buffer = False.
Sintassi:
Write
Sintassi:
È
senza dubbio l'istruzione più usata nelle pagine ASP
in quanto permette di scrivere a programma il contenuto HTML
della pagina da inviare al browser; tipicamente avremo un
codice del tipo:
< %
If condizionedatestare Then
Response.Write "contenuto HTML caso1"
Else
Response.Write "contenuto HTML caso2"
End if
% > |
oppure
visto che l'argomento può essere qualsiasi proprietà
di oggetto, una stringa, una variabile, una funzione o una
combinazione di questi elementi potremmo utilizzare questo
metodo, ad esempio, per evidenziare l'imponibile IVA di un
ordine, l'IVA e quindi l'importo totale (tutti questi dati
saranno infatti contenuti in delle variabili); ma ancora più
importante è l'utilizzo con oggetti perché è
proprio tramite essi che realizzeremo l'interfacciamento con
i Database.
Senza approfondire qui l'argomento abbiamo, come risultato
di operazioni su Database, un oggetto Recordset che abbiamo
chiamato Myrs e che ha la proprietà Fields identica
ha quella che conosciamo in Visual Basic; scriviamo nella
nostra pagina il contenuto dei campi:
< %
Response.Write "Nome: " & Myrs.Fields("Nome")
& "<br>"
Response.Write "Cognome: " & Myrs.Fields("Cognome")
& "<br>"
Response.Write "E-Mail: " & Myrs.Fields("Email")
& "<br>"
Response.Write "URL: " & Myrs.Fields("Web")
& "<br>"
% > |
Per
un risultato meglio impaginato avremo dovuto generare una
tabella di 3 colonne, la prima per i nomi dei campi, la seconda
per lasciare dello spazio e la terza per il contenuto dei
campi; non facciamo l'esempio, basterà scrivere anche
gli opportuni Tag HTML.
Soffermiamoci invece su un particolare importante: Response.Write
non inserisce ritorni a capo e quindi il codice HTML generato
dall'esempio è costituito da una riga unica; ovviamente
funziona lo stesso ma se quando accediamo con il browser alla
nostra pagina e facciamo Visualizza HTML per capire che cosa
è andato storto il risultato non sarà certo
ben leggibile. Se vogliamo inserire nel testo generato dei
ritorni a capo basterà aggiungere alla espressione
stringa della Response.Write & VbCrLf dove riteniamo opportuno.
Si
ringrazia per l'articolo Paolo Malesci |
|