-2

我的应用程序中有登录页面,因为我已将我的指定 ID 保存在 Cookie 中,例如

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

并且在用户登录后在另一个页面中我想检索该 cookie 值所以我编写了类似的代码

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

但它显示错误,例如无法将类型'int'隐式转换为'string'c#并且红色虚线低于2 ...所以请给我一些提示...

4

4 回答 4

14

你可能应该有:

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

所以一个放错位置的括号,一个赋值而不是相等运算符。或者只是比较字符串:

if (Request.Cookies["DesignationID"].Value == "2")
于 2013-08-02T14:41:43.523 回答
0

它应该是

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

或者您可以使用 Int32 来防止更多的内存间距

if (int.Parse(Request.Cookies["DesignationID"].Value) == 2)
于 2013-08-02T16:18:50.117 回答
0

编辑:好的,我有点误读了这个。这是一个更好的版本:

if (Convert.ToInt32(Request.Cookies["DesignationID"].Value) == 2)
{
    ...
}
于 2013-08-02T14:40:53.680 回答
0

它应该是

if (Convert.ToInt32(Request.Cookies["DesignationID"].Value) == 2)
 {
 //Everything else here
 }  
于 2013-08-02T14:42:30.197 回答