Active Server Pages
presentato dall' ing. R. Turco
E-MAIL:
Rosario.Turco@tlsoft.it
 
Lezione n° 3
Oggetti Request e Response
Gli oggetti Request e Response offrono un semplice ed efficace mezzo
di
scambio d'informazioni tra due pagine HTML.
Vediamo subito un esempio.
File INIT.ASP
<HTML>
<HEAD>
<TITLE>ESEMPIO DI ASP</TITLE>
</HEAD>
<BODY>
<BR>
<BR>
<FORM action=welcome.asp method=post>
Nome:<br>
<input type="Text" name="Nome"><br>
Cognome:<br>
<input type="Text" name="Cognome"><br>
<input type="Submit" name="Start">
</FORM>
</BODY>
</HTML>
File WELCOME.ASP
<HTML>
<HEAD>
<TITLE>ESEMPIO DI ASP</TITLE>
</HEAD>
<BODY>
<BR>
Benvenuto Sig. <% Response.Write request.form("nome")%> <%
Response.Write request.form("cognome")%>
</BODY>
</HTML>
Dall'esempio
si capisce che per richiedere informazioni si utilizza l'oggetto
request.
L'oggetto
request supporta molti metodi:
-
Form, per richiedere valori contenuti in una form;
-
QueryString, per richiedere valori di una stringa;
-
ServerVariables, per conoscere valori d'ambiente;
-
TotalBytes, che da il numero di byte che il client sta inviando e
rappresenta una
"property" read-only;
-
Cookies, per ottenere il valore dei cookies inviati con HTTP;
-
ClientCertificate, per ottenere il valore dei campi custoditi da un
certificato residente
su un client.
Nel caso
della FORM la sintassi generale è la seguente:
Request.Form(element)[(index)|.Count]
Un esempio
è stato già dato precedentemente di Request.Form(element).
Come
si realizza una ListBox a selezione multipla ? Vediamolo.
Supponiamo
che INIT.ASP sia leggermente diversa nella parte FORM,
come
segue.
<FORM
action=welcome.asp method=post>
Nome:<br>
<input type="Text" name="Nome"><br>
Cognome:<br>
<input type="Text" name="Cognome"><br>
<select name="Hobby" size="10" multiple>
<option>Calcio</option>
<option>Ping Pong</option>
<option>Tennis</option>
</select>
<input
type="Submit" name="Start">
</FORM>
Supponiamo,
invece, di modificare welcome.asp nel modo che segue.
<BODY>
<BR>
Benvenuto
<%Response.Write request.form("Hobby")%> <%
Response.Write
request.form("nome")%> <%Response.Write
request.form("cognome")%>
</BODY>
Se però vengono
selezionati vari hobby esse appariranno l'una di seguito
all'altra separate da
virgole perchè si tratta di una lista a selezione multipla.
Se, invece, volessi
vedere gli hobby senza virgole e uno sotto l'altro
dovrei rimodificare
con welcome.asp come segue.
<BODY>
<BR>
Benvenuto
Sig. <%
Response.Write
request.form("nome")%> <%Response.Write
request.form("cognome")%>
<BR>
<BR>
Hobby:<BR>
<% For
i=1 To request.form("Hobby").Count%>
<% request.form("Hobby")(i)%>
<% Next
%>
</BODY>
L'esempio
mostra l'utilizzo del metodo Item e della property Count.
Con Count
si sa il numero degli elementi selezionati e con (i) l'i-esimo
Item selezionato.
Per QueryString,
invece, la sintassi è la seguente:
Request.QueryString(variabile)[(index)|.Count]
In questo
caso il passaggio dei dati deve essere fatto diversamente.
In INIT.ASP
deve essere, ad esempio, presente un'istruzione del tipo:
<A HREF="WELCOME.ASP?nome=Mario&Cognome=Pluto&Hobby
=Calcio&Hobby=Fotografia>1</A>
Invece welcome.asp
dovrebbe essere modificata nel seguente modo:
<BODY>
<BR>
Benvenuto
Sig.
<% Response.Write
request.querystring("nome")%> 
<% Response.Write
request.querystring("cognome")%>
<BR>
<BR>
Hobby:<BR>
<% For
i=1 To request.querystring("Hobby").Count%>
<% request.querystring("Hobby")(i)%>
<% Next
%>
</BODY>
Mah! Meno male che
questo era solo il Benvenuto!
Fine Lezione n° 3
|