Session, quando non c'è che fare?.

venerdì 20 marzo 2009 - 18.19

Anonimo Profilo | Senior Member

SAlve, ho questo codice:

protected void Page_Load(object sender, EventArgs e)
{
string loggedin = Request["loggedin"];
string txtNome = Session["name"].ToString();

if (Session[loggedin] == null + Session[txtNome] == null)

Response.Write("Non found area");
else

Response.Write("Ciao, ti chiami "+ txtNome + "?");


}

[b]Però se provo ad entrare nella pagina non avendo inilizato la sessione ottengo questo errore:[/b].


Riferimento a un oggetto non impostato su un'istanza di oggetto.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.

Errore nel codice sorgente:

Riga 10: {
Riga 11: string loggedin = Request["loggedin"];
Riga 12: string txtNome = Session["name"].ToString();
Riga 13:
Riga 14: if (Session[loggedin] == null + Session[txtNome] == null)


Mi dite come fare?.

grazie.

rossimarko Profilo | Guru

Ciao,

stai accedendo ad un oggetto null, da quello che vedo l'errore potrebbe essere qui:
string txtNome = Session["name"].ToString();

se session["name"] torna null ti darà sicuramente errore

scrivila così

string txtNome = (string) Session["name"];
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

Anonimo Profilo | Senior Member

ok, grazie.

però non mi funziona il processo ad session["loggedin"] uguale ad 1.

ti posto il codice:

string txtNome = (string)Session["name"];
if (Session["loggedin"] == "1")

lblLoggedIn.Text = "Prova";

else

lblLoggedIn.Text = "Not area";

nella login ho impostato Session["loggedin"] = 1;

Mi dici perchè mi dice sempre Not area?.

grazie.

Anonimo Profilo | Senior Member

riuscito, solo una cosa :

Riferimento a un oggetto non impostato su un'istanza di oggetto.
Questo errore quando non c'è la sessione.

using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; public partial class admin_Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { int loggedin = (int)Session["loggedin"]; string txtNome = (string)Session["name"]; if (loggedin == 1) { lblLoggedIn.Text = "Prova"; } else { lblLoggedIn.Text = "Not area"; } } }

rossimarko Profilo | Guru

Scusami ma non sono riuscito a capire.. su che riga ti da errore?
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

Anonimo Profilo | Senior Member

niente , era su int, ma lo convertito in una stringa.

ciao.
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5