未设置为对象实例的对象引用.如果会话为空,如何重定向到登录页面

本文关键字:重定向 登录 会话 实例 对象 设置 对象引用 如果 | 更新日期: 2023-09-27 18:14:34

当我在浏览器上打开web-forms页面,但我得到这个错误

Object reference not set to an instance of an object

请查看代码片段,我做错了什么

if (!IsPostBack)
{
   if (string.IsNullOrEmpty(Session["LoginUser"].ToString()) == false && string.IsNullOrEmpty(Session["CustomerId"].ToString()) == false)//error
   {
      if (Session["LoginUser"].ToString() == "admin")
      {
         DDlUsers.Visible = true;
         fillusers();
      }
      else if (Session["LoginUser"].ToString() != "admin" && Session["CustomerId"].ToString() == "True")
      {
         DDlUsers.Visible = false;
         //fillusers();
      }
      else
      {
         DDlUsers.Visible = false;
      }
      FillProjectList();
      Pnl_Link.Visible = false;
      Pnl_Status.Visible = false;
   }
   else
   {
      Response.Redirect("~/login.aspx");
   }
}

如何使如果会话为空,它应该重定向到login.aspx。不抛出运行时异常

未设置为对象实例的对象引用.如果会话为空,如何重定向到登录页面

之后的第一个if条件中添加Session["LoginUser"]!=null
if (!IsPostBack)
{
   if (Session["LoginUser"]!=null && string.IsNullOrEmpty(Session["LoginUser"].ToString()) == false && string.IsNullOrEmpty(Session["CustomerId"].ToString()) == false)//error
   {
      if (Session["LoginUser"].ToString() == "admin")
      {
         DDlUsers.Visible = true;
         fillusers();
      }
      else if (Session["LoginUser"].ToString() != "admin" && Session["CustomerId"].ToString() == "True")
      {
         DDlUsers.Visible = false;
         //fillusers();
      }
      else
      {
         DDlUsers.Visible = false;
      }
      FillProjectList();
      Pnl_Link.Visible = false;
      Pnl_Status.Visible = false;
   }
   else
   {
      Response.Redirect("~/login.aspx");
   }
}
if (!IsPostBack)
        {
        if (Session["LoginUser"]!=null && Session["CustomerId"]!=null && !string.IsNullOrEmpty(Session["LoginUser"].ToString()) && !string.IsNullOrEmpty(Session["CustomerId"].ToString()))//error
            {
            if (Session["LoginUser"].ToString() == "admin")
                {
                DDlUsers.Visible = true;
                fillusers();
                }
            else if (Session["LoginUser"].ToString() != "admin" && Session["CustomerId"].ToString() == "True")
                {
                DDlUsers.Visible = false;
                //fillusers();
                }
            else
                {
                DDlUsers.Visible = false;
                }
            FillProjectList();
            Pnl_Link.Visible = false;
            Pnl_Status.Visible = false;
            }
        else
            {
            Response.Redirect("~/login.aspx");
            }
        }