Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Javascript a runtime
venerdì 26 maggio 2006 - 10.40
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
contiello
Profilo
| Senior Member
260
messaggi | Data Invio:
ven 26 mag 2006 - 10:40
Salve ragazzi ho una richiesta da farvi....
Immaginate di avere la seguente situazione ... in una pagina aspx avete la necessità di generare un codice javascript a runtime...
esempio un alert.
io attualmente risolvo cosi la situazione:
metto nella pagina aspx un controllo label (webform) e sulla load della pagina scrivo una cosa del genere.
........
if codice = "" then
me.label1.text = "<script language=javascript>alert('KO');</script>"
else
me.label1.text = "<script language=javascript>alert('OK');</script>"
end if
.....
La mia domanda è questa : Esiste un metodo o un oggetto preposto per questo tipo di problematica???
O cmq esiste un approccio corretto per questo tipo di problematiche??
Grazie!
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
ven 26 mag 2006 - 14:44
Prova ad utilizzare i seguenti metodi forniti dalla classe Page:
IsClientScriptBlockRegistered
RegisterClientScriptBlock
ciao, Michele
contiello
Profilo
| Senior Member
260
messaggi | Data Invio:
lun 29 mag 2006 - 11:50
Grazie per la risposta....
iin pratica ripete la gestione che facevo io a meno del controllo IsClientScriptBlockRegistered.
Io pensavo pero' esistesse un controllo lato server che dato in input un javascript facesse delle operazioni di controllo.
Mi spiego meglio create una pagina aspx nuova e sulla load scrivete il seguente codice:
Dim scriptString As String
scriptString = "<script language=JavaScript>"
scriptString += "alert('il mare è bello!');"
scriptString += "</script>"
If (Not IsClientScriptBlockRegistered("clientScript")) Then
RegisterClientScriptBlock("clientScript", scriptString)
End If
fate partire il progetto ed il risultato sarà un messaggio a video che dice "Il mare è bello!"
fin qui tutto ok
sostituite il codice precedente con questo
Dim scriptString As String
scriptString = "<script language=JavaScript>"
scriptString += "alert('il mare e' bello!');"
scriptString += "</script>"
If (Not IsClientScriptBlockRegistered("clientScript")) Then
RegisterClientScriptBlock("clientScript", scriptString)
End If
è uguale a meno della frase che da "Il mare è bello!" si è trasformata in "Il mare e' bello!"
chiaramente la presenza di un terzo apice (') all'interno della frase provoca un errore javascript.
Qui ritorna la mia domanda .... non eiste un oggetto che riceva in ingresso un codice javascript e mi restituisca lo stesso esente da errori???
mi immaginerei una cosa del genere
Dim scriptString As String
scriptString = "<script language=JavaScript>"
scriptString += "alert('il mare e' bello!');"
scriptString += "</script>"
If (Not IsClientScriptBlockRegistered("clientScript")) Then
RegisterClientScriptBlock("clientScript", scriptString)
End If
'fin qui ho creato il codice javascript come sempre
'dichiarazione dell'istanza dell'oggetto
dim objscript as system.web.ScriptProcessor(nome inventato)
'valorizzazione del parametro codeScript dell'oggetto con il mio codice javascript
objscript.codeScript = scriptString
'Eseguo il metodo che controlla la sintassi
objscript.Process()
'Reimposto la mia variabile scriptString con il valore processato dall'oggetto.
scriptString=objscript.codeScript
'mi aspetto all'interno di scriptString la seguente variazione
invece che alert('il mare e' bello!'); , alert('il mare e\' bello!');
che evita l'errore.
Spero di essermi spiegato ....
Ciao grazie
fedecheller
Profilo
| Junior Member
129
messaggi | Data Invio:
mer 31 mag 2006 - 16:56
Per non avere errori javascript il tuo testo all'interno dell'alert deve essere:
alert('Il mare e\' bello!');
basta sostituire ' con \'
MUSIC IS FREE, DRINK ARE TO PAY, STAY TILL LATE BUT SLEEP AWAY
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !