- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- GUIDA : Compatibilità asp in pagine asp.net
-
GUIDA : Compatibilità asp in pagine asp.net
-
E' possibile far processare il mio vecchio codice ASP direttamente dal framework .NET?
-
Che modifiche devo fare la codice?
-
Che vantaggi porta?
-
Si è possibile far processare il vecchio codice ASP in pagine ASP.
Occorre però impostare la modalità di compatibilità su true nell'header della pagina .aspx:
Esempio header pagina :
<%@ Page Language="vb" aspcompat="true" Debug="true" AutoEventWireup="false" Codebehind="page.aspx.vb"%>
Con la dichiarazione aspcompat="true" comunichiamo al framework :NET che deve mantenere la compatibilità con il vecchio codice ASP.
Il contenuto della pagina (script in VB) va poi riportato coem si fa in asp, la logica è la stessa ma cambiano alcuen specifiche.
- In ASP sotto .NET mancano alcuni costrutti o alcune sintassi specifiche presenti nel vecchio ASP. Vediamo quali e come sistemarle
-
Istruzione set =
L'istruzione set = non esiste più quindi è da togliere davanti alle allocazione di nuovi oggetti.
Esempio instanza di un recordset :
ASP : Set rec = Server.CreateObject("ADODB.Recordset")
ASP.NET : rec = Server.CreateObject("ADODB.Recordset") -
Dichiarazione variabili obbigatoria
E' obbligatorio (dovrebbe essere sempre così) dichiarare le variabili utilizzate -
Chiamata funzioni all'interno di moduli include
Anche per le funzioni che non restituiscono nessun valore, è obbligatorio assegare il risultato ad una variabile.
Esmpio :
function WriteTesto(TestoScrivere)
response.write(TestoScrivere)
end function
Chiama funzione
ASP : WriteTesto "Ciao"
ASP.NET : tmp=WriteTesto("Ciao")Altri aggiustamenti li accoderò in seguito, man mano.
- Vataggi? Velocità di elaborazione maggiore, perchè il framework di .NET è molto più performante (anche elaborando un codice interpretato)
-
-
La funzionate Date(), in linguaggio ASP sotto .NET non è più valida o esistente.
A tal proposito consiglio la creazione di una funzione specificata che assolve alla restituzione della data :
function D_Date()
'-----------------------'per ASP
D_Date = Date'-----------------------'per .NET normale ITALIANA D_Date = day(Now) & "/" & month(Now) & "/" & year(now) '-----------------------'per .NET normale INGLESE D_Date = month(Now) & "/" & day(Now) & "/" & year(now)
end function
Ho riportato le possibili configurazioni sia per l'ASP vecchio, sia per l'ASP sotto .NET per computer con sistema operativo italiano e inglese.
La stessa problematica persiste per la funzione Time().
function D_Time()
'-----------------------'per ASP
D_Time = Time
'-----------------------'per .NET normale
D_Time = Hour(Now) & ":" & Minute(Now) & ":" & Second(Now)
end function
-
caro ciodof, io, scusa se ti contraddico, ritengo sia migliore utilizzare
DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")
[oppure Format(DateTime.Now, "dd/MM/yyyy HH:mm:ss")]
-
Non è una contraddizione, ma solo un altro suggerimento o modo di implementare la funzione.
Il tuo modo di scrivere il codice e di usare le funzione è più vicino a .NET, il mio rimane più vicino a chi è abituato a scrivere in vecchio ASP.