Message in page load non funziona

lunedì 18 luglio 2011 - 17.41

netting Profilo | Junior Member

Non capisco il motivo per cui il messaggio con il conseguente redirect che ottengo con questa istruzione (
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
) non viene effettuato.

Ecco il codice completo:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Puoi intuire il funzionamento del codice, infatti se la sessione è aperta viene caricata la pagina altrimenti deve comparire il messaggio di autorizzazione fallita con il redirect alla home.

Nonostante quest'istruzione durante il debug ho constatato che venga eseguita non mi compare nessun messaggio e la pagina viene caricata automaticamente.

Gluck74 Profilo | Guru

il codice che hai mandato non è molto leggibile, inoltre vedo che l'istruzione è pure commentata.

Puoi scrivere il codice corretto e leggibile?


____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

netting Profilo | Junior Member

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Gluck74 Profilo | Guru

Correggi in questo modo:

protected void Page_Load(object sender, EventArgs e) { if (Session["Authenticate"] != null) { string user = (string)(Session["User"]); lblSessione.Text = string.Concat("Ciao ", user, " puoi usufruire dell'area riservata"); } else { string jsScript = @" alert('Non hai l\'autorizzazione ad entrare in questa pagina!\nVai alla registrazione'); window.location.href='Home.aspx';"; this.ClientScript.RegisterStartupScript(this.GetType(), "Some Title", jsScript, true); } }

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

netting Profilo | Junior Member

problema risolto grazie :) anche se non ho capito il perrche :)

Gluck74 Profilo | Guru

a parte i tag script che non si scrivono con il codice, ma si fanno scrivere in automatico dalla RegisterStartupScript (ultimo parametro true)
this.ClientScript.RegisterStartupScript(this.GetType(), "Some Title", jsScript, true);

evevi anche un errore nell'alert: ti mancava il carettere di escape per l'apostrofo (l\'apostrofo... )
alert('Non hai l\'autorizzazione ad entrare in questa pagina!\nVai alla registrazione');

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

netting Profilo | Junior Member

grazie per la spiegazione :)
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 !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5