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")%>&nbsp<% 
    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")%>&nbsp<%  
          Response.Write request.form("nome")%>&nbsp<%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")%>&nbsp<%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")%>&nbsp 
          <% 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