2013-06-24 49 views
0

在我的网站上,我曾在我的管理员帐户登录过,并且我登出(当您注销后删除了cookie),但是我想用另一个帐户进入并检查“记住”我”,我得到这个错误:ASP.NET Cookie奇怪的错误

Unable to cast object of type 'System.Web.HttpCookie' to type 'System.String'. 

我认为它输入我的会议上,一些奇怪的事情,但我不知道为什么..

我已经尝试过: 我已经尝试了一切,我不知道为什么它不起作用。

任何人都知道如何解决? 谢谢。

这里代码:

protected void Page_Load(object sender, EventArgs e) 
    { 

     if (Request.Cookies["account"] != null) 
     { 
      Session["user2"] = Request.Cookies["userFont"]; 
      Session["user"] = Request.Cookies["account"]; 
     } 

     if (Session["user"] == null) 
     { 
      Session["user2"] = "Guest"; 
      hey = (string)Session["user2"]; 
      log += "You are not logged in, <a href='Login.aspx'><font color='red'>Log in!</font></a> or <a href='Register.aspx'><font color='red'>Register!</font></a> "; 
      button += "<td><a href='Login.aspx' class='button'>Log in</a></td>"; 
     } 
     else 
     { 
      hi = (string)Session["user"]; 
      hey = "<a href='\\Profile.aspx?user="+hi+"'>" + Session["user2"] + "</a>"; 
      button += "<td><a href='Login.aspx' class='button'>Log out</a></td>"; 
     } 

我就收到错误:

hi = (string)Session["user"]; 
+1

请找出(并在此处显示)出现此错误的代码。 – Aristos

+0

显示代码?他已经尝试了一切。 –

+0

我添加了代码( – hey

回答

1

在这里,这Session["user"] = Request.Cookies["account"];设置一个cookie不是一个字符串。 使用((HttpCookie)Session["user"]).Value;从Cookie中取回字符串。

http://msdn.microsoft.com/en-us/library/system.web.httpcookie.aspx

+0

我得到的错误: 不能将类型'System.Web.HttpCookie'隐式转换为'字符串'\t s – hey

+0

您混淆了我的答案。代码的左侧是您应该如何阅读cookie - 您尝试在那里设置数据。 .. – TGlatzer