PDA

View Full Version : NullExceptionReference در استفاده از Session



fatemehja
چهارشنبه 27 شهریور 1387, 13:23 عصر
سلام.
من در صفحه login، در صورت درست بودن اطلاعات یه Session درست کردم.


Session.Add("User", login.Username);


Server.Transfer("Default.aspx");

اما وقتی در صفحه اصلی می خوام ازش استفاده کنم، در صورتی که فرد login نکرده باشه و Session درست نشده باشه، NullExceptionReference میده. کد صفحه اصلی به این شکله:


if (Session["user"] == "")
{
LBL1.Text = "کاربر میهمان";
}
else
{
LBL1.Text = Session["user"].ToString();
}

نمی دونم این کد رو چطور بنویسم که این مشکل پیش نیاد و از طرفی هم بی خودی برای کابری که Login نکرده Session درست نشه.
برای رفع این مشکل چه کار باید بکنم؟

خیلی ممنون

Saber_Fatholahi
چهارشنبه 27 شهریور 1387, 13:42 عصر
خوب معلومه که خطا می ده شما داری به متغیری توی Session ارجاع میدی که هنوز ایجاد نشده، به نظر من یه راهش اینه که این خط کد رو توی فایل Global توی متد SessionStart قرار بدین

Session.Add("User", "");

اما شما نمی خواین این کارو بکنین وتقریباحرف شما منطقی نیست. کار شما مثل اینه که برین به آدرس یک شرکت که اون شرکت اصلا وجود خارجی نداره،پس برنامه به شما Error می ده

fatemehja
چهارشنبه 27 شهریور 1387, 13:42 عصر
اشکال کارم این بود که باید به جای "" می نوشتم null!
به همین سادگی!

ennovation
چهارشنبه 27 شهریور 1387, 13:43 عصر
سلام
میتونی اینجوری امتحان کنی
اگر نشد بهم بگو که یه راه دیگه نشونت بدم

if ((Login)Session["User"] != null)
{
Login logObject = (Login)Session["User"];
LBL1.Text= logObject.Username;
}
else
{
LBL1.Text="کاربر میهمان " ;

}

fatemehja
چهارشنبه 27 شهریور 1387, 22:26 عصر
ولی مشکل من با نوشتن null به جای "" حل شد!