未设置为对象实例的对象引用.如果会话为空,如何重定向到登录页面
本文关键字:重定向 登录 会话 实例 对象 设置 对象引用 如果 | 更新日期: 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");
}
}