如何正确的判断Session变量是否存在
写Web页面的时候,经常在页面间要使用Session来判断用户是否已登陆、是否有权限访问页面等。。。
但为何判断 Session["a"].ToString()!=null 的时候,会报“未将对象引用设置到对象的实例” 的错误?有时候又没报错~~
原因出在ToString()这个方法上面。。。此方法要求转换的对象不能为空~如果Session["a"]为 null,那么,ToString()这个方法就会报“未将对象引用设置到对象的实例”的错误,所以我们判断Session的值是否与特定的值匹配的时候,要先判断它是否为空,如下:
1 if(Session["a"] != null) 2 { 3 if(Session["a"].ToString()=="aaa") 4 5 { 6 //Your Code Here 7 8 } 9 }
总结:无论是什么变量都好,使用ToString()等类似的字符操作方法时,必须保证被操作的变量不是空。。。做法就是先判断是否为空。