未将对象引用设置到对象的实例

"iis
未将对象引用设置到对象的实例"这中错误是比较常见的
但一般和一些特殊的功能
以及iis的设置有关
lz
你笼统的说法
实在是不好猜
请具体点
关于你的网站和iis的设置
这就对了 , 这个错误的意思就是说:一个对象 , 你并没有把它实例化 , 但是你在程序里调用了它 , 这是错误的 , 所以抛出一个异常 。
在你的代码里很清晰的可以看到 , nickname这个对象并没有被实例化 。
你可以自己打断点单步调试 , 看看nickname是否存在一个值 。 如果没有 , 你如何把它显示出来呢?
未将对象引用设置到对象的实例 。 出现这种错误大部分是值未找到 。
解决此问题没别的办法 。 自己认真点找出哪个值没找或哪个值赋值错误 。 一般是SQL语句和赋值时出现较多 。 建议通过调试去找方便快捷 。
在window中打开功能里输入regedit,回车打开注册器 。 然后进入如下路径中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy
将enable设置为0 , win7 64位下64位vs2015可以解决 。
Session["useid"]=Request.QueryString["userid"].ToString();这句话有问题 。
1 。 原因:页面初始化时没用户登录 ,
你在地址栏里面肯定是这样的
xxx.aspx而不是xxx.aspx?userid=XX
这个Request.QueryString["userid"].ToString()里面肯定是空 。
2.解决:
if (HttpContext.Current.Request.Url.AbsoluteUri.Contains("userid="))
{
if (!string.IsNullOrEmpty(Request.QueryString["userid"].ToString()))
{
this.bind();
}
}
3.建议:用户登录最好别在url地址里面传递与用户账户有关的信息 , 这些信息可以直接存放在前一个页面的Session里面 , 下一个页面可直接try
{}catch{}调用
或者属性 ProMod.Projectnm 为null
如果页面上48行之前 , 有引用到 ProMod的其它属性没有报异常 , 就可以确定是ProMod.Projectnm 值为null
在哪怎么修改呢
第48行 , 对ProMod.Projectnm做个null判断
ProMod.Projectnm==null?"":ProMod.Projectnm.ToString().Trim()

未将对象引用设置到对象的实例

文章插图
未将对象引用设置到对象的实例=BUG 。 如果别人给你一个你未预料到的null值 , 抛出一个ArgumentNullException以帮助别人定位BUG 。 如果你预料到会有null值 , 那么修改你的程序来容许null值以避免昂贵的异常抛出过程 。
调用CreateInstance之前检查Assembly.Load(path)的返回值
转换之前检查Assembly.CreateInstance的返回值
调用GetCategories之前检查CreateCategory的返回值
看看你的config文件 , 你里面默认不允许调试了 , 将配置文件中:<configuration> <system.web> <compilation debug="true"/> </system.web></configuration> , <compilation debug="true"/> 改为TRUE以后就不会再出这个问题了 , 估计你是第一次调试程序才会出现的 。
这就对了 , 这个错误的意思就是说:一个对象 , 你并没有把它实例化 , 但是你在程序里调用了它 , 这是错误的 , 所以抛出一个异常 。
在你的代码里很清晰的可以看到 , nickname这个对象并没有被实例化 。
你可以自己打断点单步调试 , 看看nickname是否存在一个值 。 如果没有 , 你如何把它显示出来呢?
NullReferenceException 就是说 , 对象还没有创建 , 你调用了它的属性或者方法 , 就会报错了 。 用断点跟踪一下 , 看看具体是哪个对象为 null , 再看看 , 为什么没有创建成功 。
某一个节点不存在 , 导致SelectSingleNode查找的结果是空的

推荐阅读