首页新闻找找看学习计划

asp.net mvc 5 中 view 判断session直接异常了? 为什么?

0
悬赏园豆:20 [已关闭问题] 关闭于 2016-06-21 14:36

if(Session["State"] == null)

{

 //....

}

 

直接这句就

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

实在找不到原因

问题补充:

补充: 是直接在view中判断 为空的session就错,不是类似session.tostring()的时候报错,是判断都不行,昨天还好好的,睡一觉起来这样了, 我很二的重启了系统,依然无用.

 

再次补充一个: viewbag也是这样 msg 是没赋值的 为null,直接view里输出也是这样 我快疯了......

 

贴一段代码吧,不知道是我表达的不清楚还是怎么了

 

 

if (Session["State"] == null) // 这一句报异常了,断电后输出Session(不是Session["State"])不为null,
{
Response.Write("无状态");
}
else
{
Response.Write("状态:"+ Session["State"].ToString());
}

散客游的主页 散客游 | 初学一级 | 园豆:9
提问于:2016-06-21 11:50
< >
分享
所有回答(3)
0

用if(string.IsNullOrEmpty(Session["State"].ToString()))试试

如此低调的男人 | 园豆:840 (小虾三级) | 2016-06-21 11:53

不行, 因为session连判断都不让

支持(0) 反对(0) 散客游 | 园豆:9 (初学一级) | 2016-06-21 11:57

@散客游: 你在当页给session赋值试试,看看能不能进入判断

支持(0) 反对(0) 如此低调的男人 | 园豆:840 (小虾三级) | 2016-06-21 15:36
0

不就是對Null ToString()錯誤嘛..

RosonJ | 园豆:2317 (老鸟四级) | 2016-06-21 11:55

不是,问题是直接if那句就错了,不是tostring才错

支持(0) 反对(0) 散客游 | 园豆:9 (初学一级) | 2016-06-21 11:57

@散客游: 

喔,被下面的圖誤導

if報錯那就是Session為null嘛,獲取null物件的屬性報錯

支持(0) 反对(0) RosonJ | 园豆:2317 (老鸟四级) | 2016-06-21 11:59

@RosonJ: ViewBag的图我补充了一下你看看,我真的要疯了.

支持(0) 反对(0) 散客游 | 园豆:9 (初学一级) | 2016-06-21 12:03

@散客游: 

..到底哪個才是你的問題

支持(0) 反对(0) RosonJ | 园豆:2317 (老鸟四级) | 2016-06-21 12:04

@RosonJ: 意思就是 ViewBag也好 session也好 这种只要为null 前台就没有办法进行任何操作,包括判断.

支持(0) 反对(0) 散客游 | 园豆:9 (初学一级) | 2016-06-21 12:05

@RosonJ: 而且第一张图中你看,连异常都捕获不到了..................

支持(0) 反对(0) 散客游 | 园豆:9 (初学一级) | 2016-06-21 12:06

@散客游: 

這哪是問題?!這很正常啊!

為什麼為Null才是你的問題吧..

支持(0) 反对(0) RosonJ | 园豆:2317 (老鸟四级) | 2016-06-21 12:07

@RosonJ: 算了你根本没理解我的意思.

支持(0) 反对(0) 散客游 | 园豆:9 (初学一级) | 2016-06-21 12:47

@RosonJ: 我最后又补充了下代码,你可以自己写了试试,不是我的问题,真的!

支持(0) 反对(0) 散客游 | 园豆:9 (初学一级) | 2016-06-21 12:51
1

if(Session["State"] == null) ->if(Session==null||Session["State"] == null)

吴瑞祥 | 园豆:28675 (高人七级) | 2016-06-21 12:11

问题依旧,Session此时并不为null, 就睡一觉就出了这种问题, 颠覆了世界观!

支持(0) 反对(0) 散客游 | 园豆:9 (初学一级) | 2016-06-21 12:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册