2010-07-07 53 views
2

我將ViewState [「zzz」]和Session [「zzz」]設置爲相同的字符串。比較ViewState和SessionState

當我比較使用==我得到錯誤。

當我做ViewState [「zzz」]。Equals(Session [「zzz」])時,我會變成true。

在調試器,無論它們的值顯示相同的字符串,當我做

? ViewState["zzz"] == Session["zzz"] 

我得到錯誤的。

我以爲ViewState StateBag項目默認爲設定值,會話項目默認爲該值?

回答

3

由於ViewState和Session都存儲對象,所以在比較之前必須將它們轉換爲string,否則將得到參考比較而不是稱爲重載字符串運算符==。

(string) ViewState["zzz"] == (string) Session["zzz"] 
+0

Doh!當然。我會接受,當它讓我。 – Steve 2010-07-07 17:22:08