“/LibraryMS”应用程序中的服务器错误。
--------------------------------------------------------------------------------未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 
行 28:             labDate.Text = DateTime.Now.Year + "年" + DateTime.Now.Month + "月" + DateTime.Now.Day + "日";
行 29:             labXQ.Text = operatorclass.getWeek();
行 30:             labAdmin.Text = Session["Name"].ToString();
行 31:             adminmanage.Name = Session["Name"].ToString();
行 32:             DataSet adminds = adminmanage.GetAllAdminByName(adminmanage, "tb_admin");
 源文件: d:\LibraryMS\MasterPage\MainMasterPage.master.cs    行: 30 
  请问各位好心善良的高手,为什么会出现这样的错误啊?

解决方案 »

  1.   

     labDate.Text = DateTime.Now.ToString("yyyy年MM月dd日");
     labXQ.Text = operatorclass.getWeek();
     labAdmin.Text = Session["Name"].ToString(); 说明Session里没有Name
      

  2.   

    Session超时失效了自然就会返回空引用;加一个判断Session["Name"]是否为空的保护,不为空在ToString()if(Session["Name"]!=null)
    {
       labAdmin.Text = Session["Name"].ToString();
    }
      

  3.   

    超时?是丢失吧。把丢失叫做超时,那就是一种误导了。不过你还是先看看自己的程序有没有bug,如过运行到这个必然为null,那么可能就不是什么丢失,而是程序逻辑流程上的问题。
      

  4.   

    你要做的,是找出为什么为null的原因,并且正确地应对。如果你只是像缩头的鸵鸟一样地写代码让程序消极继续执行了,那么你预想中的labAdmin.Text根本没有正常赋值,这其实就是bug。所以不要自欺欺人地仅仅为了程序能执行而编程,一定要让labAdmin.Text属性保证是一个正确的值而编程!