15

Session変数が存在するかどうかを判断しようとしていますが、エラーが発生しています:

System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

コード:

    // Check if the "company_path" exists in the Session context
    if (System.Web.HttpContext.Current.Session["company_path"].ToString() != null)
    {
        // Session exists, set it
        company_path = System.Web.HttpContext.Current.Session["company_path"].ToString();
    }
    else
    {
        // Session doesn't exist, set it to the default
        company_path = "/reflex/SMD";
    }

これは、Session「company_path」という名前が存在しないためですが、検出できません!

4

3 に答える 3

37

Session["company_path"] が null かどうかを確認する場合は、ToString() を使用しないでください。としてif Session["company_path"] is null then Session["company_path"].ToString() will give you exception.

変化する

if (System.Web.HttpContext.Current.Session["company_path"].ToString() != null)
{
    company_path = System.Web.HttpContext.Current.Session["company_path"].ToString();
}
else
{
    company_path = "/reflex/SMD";
}

if (System.Web.HttpContext.Current.Session["company_path"]!= null)
{
      company_path = System.Web.HttpContext.Current.Session["company_path"].ToString();
}
else
{
      company_path = "/reflex/SMD";
}
于 2012-10-19T10:09:37.137 に答える