PDA

View Full Version : Object reference not set to an instance of an object.



alonemm
شنبه 06 آذر 1389, 11:31 صبح
باسلام:
من در اجرای کد زیر به این خطا میخورم:


protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Session["UserStatus"].ToString() == "")
{
Response.Redirect("~/login.aspx");
}
}

Object reference not set to an instance of an object.

Y2K
شنبه 06 آذر 1389, 16:01 عصر
شرط را بصورت زیر بنویسید


if (HttpContext.Current.Session["UserStatus"]== null || HttpContext.Current.Session["UserStatus"].ToString() == "")

alonemm
پنج شنبه 11 آذر 1389, 10:50 صبح
با کد بالا در صفحه مشکلم حل شد ولی وقتی توی یک کلاس میخوام سشن رو چک کنم باز به همین خطا برخورد میکنم


using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
/// <summary>
/// Summary description for slog
/// </summary>
public class slog : Page
{
public slog()
{
string aa;
aa = HttpContext.Current.Session["UserStatus"].ToString();
if (aa == null)
{
Response.Redirect("~/login.aspx");
}
}
}

taghi.km
پنج شنبه 11 آذر 1389, 11:24 صبح
تو کار با session و cookie اول چک کن null نباشه
HttpContext.Current.Session["UserStatus"]== null

Y2K
پنج شنبه 11 آذر 1389, 14:13 عصر
همینی که آقای تقی گفتند رو باید درست کنی
شما در کدت میگی که aa = HttpContext.Current.Session["UserStatus"].ToString و این یعنی ابتدا آبجکت سیشنی رو که وجود داره به رشته تبدیل کن و سپس در aa ذخیره کن
خوب وقتی که سیشن نال هست و وجود ندارد دیگه نمیتونه به رشته تبدیل کنه در نتیجه به شما ارور میده

NIMA_1981
پنج شنبه 11 آذر 1389, 18:06 عصر
اقا واسه من هم این خطا رو مدیه اما وقتی برنامه رو توی vs اجرا میکنم درست اجرا میشه خطا نمیده اما وقتی توی iis استفاده میکنم این خطا رو میده بعد این خطا واسه سشن ها هشتس یا واسه کوکی هم این خطا رو میده

Y2K
جمعه 12 آذر 1389, 01:38 صبح
اقا واسه من هم این خطا رو مدیه اما وقتی برنامه رو توی vs اجرا میکنم درست اجرا میشه خطا نمیده اما وقتی توی iis استفاده میکنم این خطا رو میده بعد این خطا واسه سشن ها هشتس یا واسه کوکی هم این خطا رو میده
هر وقت این خطا ظاهر شد، به این معنی است که شی یا متغیری که میخواهید ازش استفاده کنید یا ایجاد نشده است و یا مقدار دهی نشده است
باید دقت کنید قبل از استفاده از اون، حتما اون رو ایجاد و مقدار دهی کنید

در سشن ها و کوکی ها احتمالا در جایی میخواهید بخونیدشون، ولی هنوز مقدار دهی نشده اند و null هستند.