Asp Syntax

Pagina di sintassi per asp. Sorgente guida html.it

Variabili

Convenzioni di nomi per le variabili di tipo variant

Tipo Variabile Nome Variabile
Numero Interi intNome
Numero in virgola mobile (singola precisione) sngNome
Numero in virgola mobile (doppia precisione) dblNome
Stringa strNome
Data dtNome
Booleano blNome
Valuta vltNome

Dichiarazione di variabili

' per dichiarazioni non tipizzate
dim mia_variabile 
 
' per dichiarazioni tipizzate
int mia_variabile
 
' per dichiarazioni non tipizzate
dim mia_variabile 
 
' per dichiarazioni tipizzate
int mia_variabile
 
' per array
dim intDati(2)  'array di 3 elementi: da 0 a 2
intDati(0) = 0  'inizizzazione dei tre elementi
intDati(1) = 1
intDati(2) = 2

Strutture condizionali

IF semplice

dim strNome 'Dichiarazione delle variabili
strNome="innovatel"

if strNome="innovatel" then 'Verifica condizione
  'Blocco di istruzione se la condizione è vera
  response.write "Il visitatore èinnovatel."
else
  'Blocco di istruzione se la condizione è falsa
  response.write "Visitatore Anonimo."
end if

ELSEIF

dim strNome
strNome="innovatel"

if strNome="pippo" then
  response.write "ciao pippo"

  elsif strNome="tizio" then
    response.write "Ciao tizio"
  else
    response.write "Ciao innovatel"
  end if
end if

SELECT CASE

dim strNome
strNome = "innovatel"

select case strNome
  case "pippo"
    response.write "Ciao pippo"

  case "tizio"
    response.write "Ciao tizio"

  case else
    response.write "Ciao innovatel"
end select

Si possono valutare più valori nello stesso campo usando questa sintassi

dim strNome
strNome = "innovatel"

select case strNome
  case "pippo", "tizio"
    response.write "Non sei innovatel."

  case else
    response.write "Ciao innovatel"
end select

DO WHILE

dim intValore
   intValore = 1
do while intValore<11
   response.write intValore & "<br>"
   intValore = intValore + 1
loop

& serve per concatenare due parti di stringa
Dim intValore
intValore = 1
do
response.write intValore & "<br>"
intValore = intValore + 1
loop while ( intValore < 11 )

FOR

dim intInizio, intFine, ctCiclo
 ' Inizializzazione delle variabili
intInizio = 1
intFine = 10
for ctCiclo = intInizio to intFine
   'Corpo del ciclo
   response.write ctCiclo & "<br>"
next

CHIAMATE

Le procedure non restituiscono nessun valore, mentre le funzioni si.

PROCEDURA

sub nomeSubroutine(argomentiSubroutine)
   'Corpo della subroutine
End Sub

sub mostraFrase
   response.write("Sono la procedura mostraFrase"&<br>)
end sub
mostraFrase
mostraFrase
mostraFrase

FUNZIONI

function nomeFunzione(argomentiFunzione)
   ' Corpo della funzione
end
'Dichiarazione della funzione
function conta(intValore)
   response.write "Siamo al numero ->" & intValore &"<br>"
end function
'Dichiarazione delle variabili globali
dim intInizio,intFine,ctCiclo
'Inizializzazione delle variabili globali
intInizio = 1
intFine = 10
ctCiclo = 1
'Codice di chiamata funzione
for ctCiclo= intInizio to intFine
   call conta(ctCiclo)
next

E' possibile interromperle dal loro interno in qualunque momento immettendo la riga di codice exit function (se siamo nel caso di una funzione) oppure exit subroutine (se siamo nel caso di una procedura).

OGGETTI

DICHIARAZIONE OGGETTO

Class bicicletta
   public Colore
   public Peso
   public Costo
End Class
Class bicicletta
   public Colore
   public Peso
   public Costo
   public sub mostraFoto(nomeImmagine)
               response.write "<img src=" & nomeImmagine & ">"
            End Sub
End Class

USO OGGETTO

' Creazione oggetto
   dim miaBicicletta
   Set miaBicicleta = new bicicletta
' Impostazione proprietà
   miaBicicletta.colore = "Rosso"
   miaBicicletta.peso = "12 Kg"
   miaBicicletta.costo = "Non Dichiarato."
'Eliminazione Oggetto
   Set miaBicicleta = nothing
'Creazione oggetto
   dim miaBicicletta
   Set miaBicicleta = new bicicletta
' Utilizzo Metodo Interno
   miaBicicletta.mostraFoto("image.gif")
'Eliminazione Oggetto
   Set miaBicicleta = nothing

OGGETTO RESPONSE

Per ottenere a video la scritta "Ciao Mondo"

response.write "Ciao Mondo"
response.write my_var

oppure per scrivere in maniera stringata
=my_var
Oggetto Response: Buffer

Per attivare il buffer

response.buffer = True

Per quanto riguarda l'istruzione precedente, bisogna fare una sola nota in merito: l'istruzione va posizionata all'inizio della pagina prima di qualunque altra istruzione.

'Attivo il buffer del processo Asp
   response.buffer = true
   for ctInd = 1 to 1000
      response.write "<br> Frase numero --> " & ctInd
   next

Questo script compone 1000 frasi e una volta composte tutte quante le invia a video per poterle visionare.

Response redirect
response.redirect pagina_di_destinazione
Response exspire

Non memorizzare mai in cache la pagina nel browser

response.expires = - 1500

OGGETTO SESSION

' Attivazione di una variabile di sessione
session("nome_variabile") = valore_da_assegnare
response.write session.sessionId
'Impostiamo la vita di sessione a n minuti
session.timeout = n
'Cancellazione di una variabile di sessione desiderata
session("nome_variabile") = Null

Oggetto Application

' Bloccare la variabile di tipo Application
   Application.lock
' Inserimento del valore 5 nella variabile mio_numero
   Application("mio_numero") = 5
' Sblocco della variabile di tipo Application
   Application.unlock
' Prosecuzione dello scripting di pagina Asp
' Abbandono di tutte le variabili di sessione
session.abandon

Oggetto Server

Visualizza un messaggio di errore se lo script super il numero di secondi impostato.

Server.ScriptTimeout = 10
dim ctInt
ctint = 1

' il ciclo non finisce mai perchè la condizione matcha solo valori dispari e il contatore prende solo valori pari 
do while( ctInt Mod 2 <> 0 ) 
ctInt = ctInt + 2
loop

Grazie al metodo HTMLEncode possiamo visualizzare sul nostro browser caratteri e simboli che altrimenti non saremmo in grado di vedere.

dim strTestoDaVisualizzare
strTestoDaVisualizzare = " °°° Ciao °°° "
response.write server.HTMLEncode(strTestoDaVisualizzare)

URLEncode serve solo quando bisogna passare stringhe che contengono caratteri particolari nella creazione delle collection

valore=server.URLEncode "°°° Nome & Cognome °°°" 
<a href="pagina2.asp?Id=<%=valore%>">Link</a>

Nelle collection, il simbolo & ha un valore ben definito. In questo caso verrà quindi ignorato.

Usando MapPath si ottiene dal persorso virtuale di un oggetto come per esempio

http://www.mio_sito.it/percorso/virtuale.gif 
quello reale 
c:\inetpub\www\rootmio_sito\percorso\virtuale.gif

la sintassi è
Response.Write(Server.MapPath("/percorso/virtuale.gif"))
Response.Write "Sono prima del Server.Transfer <br />"
Server.Transfer "pagina_di_destinazione.asp" 
Response.Write "Sono dopo il Server.Transfer <br />"

Execute permette di eseguire il codice scritto su un'altra pagina come se fosse presente nella pagina corrente.

Response.Write "Sono prima del Server.Execute <br />"
Server.Execute "pagina_di_destinazione.asp" 
Response.Write "Sono dopo il Server.Execute <br />"

Cookies

Creazione

'Creazione fisica del cookies
response.cookies("nome_forum")="innovatel"
'Impostazione data di scadenza del cookies
response.cookies("nome_forum").expires = DateSerial(2002,5,15)

Nel caso NON dovessimo assegnare il valore di scadenza tramite la proprietà expires, il cookies muore quando la sessione di navigazione viene interrotta. Col termine sessione non si intende il tipo di variabile illustrata in precedenza, ma il tempo in cui il browser di navigazione resta aperto

Modifica

'Dichiarazione variabile
dim strNome
'Lettura fisica del cookies
strNome=request.cookies("nome_forum")
'Realizzazione del saluto personalizzato
response.write "Ciao " & strNome & " ! "

Array di cookies

Creazione fisica del cookies
response.cookies("visitatore")("nome_forum")="innovatel"
response.cookies("visitatore")("nome_reale")="Andrea"
response.cookies("visitatore")("cognome_forum")="Carratta"
'Impostazione data di scadenza del cookies
response.cookies("visitatore").expires = DateSerial(2002,5,15)

come si può osservare, la scadenza del cookies è globale. Infatti NON è possibile impostare una scadenza possibile per chiave. Ora vedremo il codice di lettura e genereremo il saluto personalizzato.

'Dichiarazione variabile
dim strNomeForum
dim strNomeReale
dim strCognomeReale
'Lettura fisica del cookies
strNomeForum=request.cookies("visitatore")("nome_forum")
strNomeReale=request.cookies("visitatore")("nome_reale")
strCognomeReale=request.cookies("visitatore")("cognome_forum")
'Realizzazione del saluto personalizzato
response.write "Ciao "&strNomeReale&" "&strCognomeReale" !<br>"
response.write "Sei identificato come "&strNomeForum&" all'interno del forum."
Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License