问题描述
“/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:DataSetadminds=adminmanage.GetAllAdminByName(adminmanage,"tb_admin");源文件:d:LibraryMSMasterPageMainMasterPage.master.cs行:30请问各位好心善良的高手,为什么会出现这样的错误啊?
解决方案
解决方案二:
labDate.Text=DateTime.Now.ToString("yyyy年MM月dd日");labXQ.Text=operatorclass.getWeek();labAdmin.Text=Session["Name"].ToString();说明Session里没有Name
解决方案三:
Session超时失效了自然就会返回空引用;加一个判断Session["Name"]是否为空的保护,不为空在ToString()if(Session["Name"]!=null){labAdmin.Text=Session["Name"].ToString();}
解决方案四:
有人解答了~
解决方案五:
超时?是丢失吧。把丢失叫做超时,那就是一种误导了。不过你还是先看看自己的程序有没有bug,如过运行到这个必然为null,那么可能就不是什么丢失,而是程序逻辑流程上的问题。
解决方案六:
你要做的,是找出为什么为null的原因,并且正确地应对。如果你只是像缩头的鸵鸟一样地写代码让程序消极继续执行了,那么你预想中的labAdmin.Text根本没有正常赋值,这其实就是bug。所以不要自欺欺人地仅仅为了程序能执行而编程,一定要让labAdmin.Text属性保证是一个正确的值而编程!
解决方案七:
四五楼的同一兄弟语言显然有点过于犀利,一般人听上去颇觉有理。不过“实践得真知”这句话暂时不会过时,二楼的朋友正解了,依然很感谢朋友们的热心帮助和谆谆教诲!