为什么我不能这样做?
if ((bool)Request["genericError"] != true)
{
return;
}
编译器给了我:
无法将'string'类型转换为'bool'
Request["genericError"]
应该是一个对象,为什么编译器认为它是一个字符串?
我正在寻找原因,而不是如何回避它(使用Convert
)
答案 0 :(得分:4)
是什么让你认为Request["genericError"]
应该是一个对象?
假设Request
是HttpRequest
(我怀疑),indexer的类型为字符串。
答案 1 :(得分:3)
因为它是一个字符串。尝试:
if ( bool.parse (Request["genericError"] ) != true) return;
更好的是,
使用`bool.TryParse'等......
答案 2 :(得分:1)
在.NET中,NameValueCollection定义为: 表示可以使用键或索引访问的关联String键和 String 值的集合。
答案 3 :(得分:0)
请求变量的值是一个字符串。它不是会话对象(即Session [“genericError”])。请求变量总是字符串IIRC。