Bonjour à tous,
J'ai un problème que j'arrive vraiment pas à comprendre.
J'ai développé une interface login mdp ASP.NET/C# et suivant le droit qu'on a dans l'application, on est admin ou simple user.
J'ai donc une fonction private bool isAdmin(string user_name) qui me retourne si un user est ou pas admin
Au moment de retourner le statut du user j'appel une variable de session Session["is_user_admin"] = userAdmin; que j'assigne avec la variable local booléenne userAdmin.
Bon jusqu'ici il ne semble pas y avoir de souci
Ensuite, je vais dans le Web.config pour activer mes sessions grâce à <sessionState mode="InProc" cookieless="AutoDetect" timeout="20" />
Après je crée mon menu à l'aide d'un user contrôle menu.ascx où j'ai mis deux menu, un user et l'autre admin, qui s'afficheront en fonction de la variable de session. Pour cela, j'ai un test qui se fait lors du page_load du menu.ascx.cs qui est :
Et c'est là que rien ne va... Si la variable de session est à true tout marche mais si elle est à false il me lance une exception que je ne comprend pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 protected void Page_Load(object sender, EventArgs e) { if ((Boolean) Session["is_user_admin"] == true) { Menu_user.Visible = false; } else { Menu_admin.Visible = false; } }
Si quelqu'un pouvait m'expliquer ou ai-je fais n'importe quoi ça m'aiderais beaucoup.La référence d'objet n'est pas définie à une instance d'un objet.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
Erreur source:
Ligne 14 : protected void Page_Load(object sender, EventArgs e)
Ligne 15 : {
Ligne 16 : if ((Boolean)Session["is_user_admin"] == true)
Ligne 17 : {
Ligne 18 : Menu_user.Visible = false;
Merci à tous
Partager