2013-08-02 34 views
-2

我已經在登錄頁面在我的應用我有保存的Cookie 我指定ID喜歡不能隱式轉換類型「詮釋」到「串」 C#

Response.Cookies["DesignationID"].Value = ds.Tables[0].Rows[0]["DesignationID"].ToString(); 

和用戶登錄在另一頁我想​​以後所以我寫了這樣的代碼

if (Convert.ToInt32(Request.Cookies["DesignationID"].Value = 2)) 

,但它顯示錯誤,如不能隱式轉換類型「詮釋」到「字符串」 C#和紅色虛線是在2以檢索該cookie值......所以請給我一些提示...

回答

14

你或許應該有:

if (Convert.ToInt32(Request.Cookies["DesignationID"].Value) == 2) 

所以放錯位置的支架和分配,而不是平等的經營者。或者只是比較字符串:

if (Request.Cookies["DesignationID"].Value == "2") 
+0

+1作爲與字符串方法的比較。如果由於某種原因'DesignationID'不是整數,第一個可能會拋出異常。 – danielunderwood

0

編輯:好的,我有點誤解了這一點。這裏有一個更好的版本:

if (Convert.ToInt32(Request.Cookies["DesignationID"].Value) == 2) 
{ 
    ... 
} 
+0

間距社區wiki? –

+0

那會不會編譯會呢? –

+0

代碼是錯誤的... – ChrisBint

0

應該

if (Convert.ToInt32(Request.Cookies["DesignationID"].Value) == 2) 
{ 
//Everything else here 
} 
0

應該

if (Convert.ToInt32(Request.Cookies["DesignationID"].Value) == 2) 

,或者你可以用它來防止更多的內存使用的Int32

if (int.Parse(Request.Cookies["DesignationID"].Value) == 2) 
相關問題