2011-01-13 126 views
4

爲什麼我不能這樣做?將會話變量設置爲bool

if ((bool)Request["genericError"] != true) 
    { 
     return; 
    } 

編譯器給我:

無法轉換類型「字符串」到「布爾」

Request["genericError"]應該是一個對象,所以爲什麼編譯器認爲它是一個字符串?

我正在尋找這樣做的原因,而不是如何迴避它(使用Convert

回答

4

是什麼讓你認爲Request["genericError"]應該是一個對象呢?

假設RequestHttpRequest(正如我懷疑的那樣),indexer是字符串類型。

+0

道歉我錯讀了intellisense評論「返回HTTPRequest對象」 – 2011-01-13 15:22:36

3

因爲它是一個字符串。嘗試:

if (bool.parse (Request["genericError"]) != true) return; 

更重要的是,

使用`bool.TryParse」等等......

0

請求變量的值是字符串。它不是會話對象(會是Session [「genericError」])。請求變量總是字符串IIRC。