asp.net中未设置对象引用

asp.net中未设置对象引用,asp.net,nullreferenceexception,Asp.net,Nullreferenceexception,我已经为会话编写了上面的代码。。。 但问题是,若有任何会话变量,它工作正常 若会话不在那个里,那个么它并没有重定向到登录页面,并给出一个错误,如 未设置对象引用。如果没有会话退出,则u将无法比较任何内容。所以检查它是否为空。这就是你检查会话的方式 if (Session["admin_uname"].ToString() == "") { Response.Redirect("login.aspx"); } else { string userid = Session["admi

我已经为会话编写了上面的代码。。。 但问题是,若有任何会话变量,它工作正常

若会话不在那个里,那个么它并没有重定向到登录页面,并给出一个错误,如


未设置对象引用。

如果没有会话退出,则u将无法比较任何内容。所以检查它是否为空。这就是你检查会话的方式

if (Session["admin_uname"].ToString() == "")
{
    Response.Redirect("login.aspx");
}
else
{
    string userid = Session["admin_uname"].ToString(); 

}

在该空值上调用
ToString()
时,会得到异常。所以也要检查
Null
值。您可以尝试以下方法:-

   if (Session["admin_uname"] == null)
    {
        Response.Redirect("login.aspx");
    }
    else
    {
        string userid = Session["admin_uname"].ToString(); 
    }

在引用对象之前检查空值,如

if (Session["admin_uname"].ToString() == "" || Session["admin_uname"].ToString() == Null)
你可以用这个:

if (Session["admin_uname"] != null)

// do something
我想这样做:

if (String.IsNullOrEmpty(Session["admin_uname"].ToString()))
{
    Response.Redirect("login.aspx");
}
else
{
    string userid = Session["admin_uname"].ToString(); 
} 
还有一项:

if (Session["admin_uname"] != null || Session["admin_uname"].ToString() == "")
    Response.Redirect("login.aspx");

string userid = Session["admin_uname"].ToString(); 

几乎所有
NullReferenceException
的情况都是相同的。有关提示,请参阅“”。
string userid = Session["admin_uname"] ?? "";
if (string.IsNullOrEmpty(userid))
{
    Response.Redirect("login.aspx");
}