在做验证码程序时,发现输入的验证码总是不对,原来不是我输入不对,而是程序判断上出错了。
Session 加索引取得的值是 object 类型,不是字符串类型,直接与字符串进行比较,在编译时会得到警告,运行时 Session 取得的值也与字符串不相等。
错误的做法
正确的做法
完美的做法
先进行了 Session 有无判断,避免使用 ToString 出错。当然若用 Convert.ToString() 遇到 null 也不出错,会转换成零长度字符串,但是要注意,这同样要保证不允许让 Session 没内容、用户输入也没内容的情况下,通过了验证。
结论