出现“未将对象引用设置到对象的实例”错误的一般原因:
1、ViewState 对象为Null。
2、DateSet 为空。
3、sql语句或Datebase的原因导致DataReader空。
4、声明字符串变量时未赋空值就应用变量。
5、未用new初始化对象。
6、Session对象为空。
7、对控件赋文本值时,值不存在
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值
9、使用FindControl时,控件不存在却没有做预处理
10、重复定义造成未将对象引用设置到对象的实例错误
二、
(1)所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用DataGrid或Gridview或Datalist等数据控件时出现.
(2)控件名称与codebehind里面的没有对应
(3)未用new初始化对象
(4)在程序中所引用的控件不存在
解决方法:
(1)使用try..catch...finally捕捉错误,或直接用response.write()输出所取的变量值
(2)查看代码中是否存在未初始化的变量
三、
SqlConnection.Open未将对象引用设置到对象的实例
在使用VS2003开发ASP.NET程序时候有时候操作SqlConnection对象的Open()方法时候会出现
未将对象引用设置到对象的实例。
说明:执行当前Web请求期间,出现未处理的异常。检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
conn.Open();
跟踪调试也肯定可以确定对conn进行new操作但是程序经常在这个地方报错,但是有时候重启服务器或者重启IIS有能正常使用了。怎么调试也找不到问题那么这个时候可能是你本机上安装的.NETFRAMEEWORK框架有问题,可能没有没有安装SP1.1补丁
解决方法:打NETFRAMEEWORK1.1SP1的补丁(微软官方网站下载安装)
四、出现NullReferenceException异常
1、对象所在的命名空间没有引用
2、对象没有实例化
3、出现异常,实例化失败对象为null
五、IIS
当应用程序的用户访问量超过它能承受的范围之后,就会出错。
改善程序,使用缓存,尽量减少与数据库交互的次数。
六、重置了DataSet引用,会出现问题,检查自己的代码,是不是在其他地方重新引用了,可能DataSet被设置成全局对象。
七、当以上所有的方法不行时,打上.netframework的补丁
八、还可能网站里面DAL的dll文件失效,业务层实例化不了IDAL
九、
为每个可疑的地方添加监视,替换掉页面级全局对象
本文由百分网提供,原文地址:http://www.oh100.com/a/201110/20153.html
自己错误原因:不够细心,打错了代码