2013-08-02 36 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) 
相关问题