2013-05-07 41 views
0

我在登錄頁以下的cookie:如何使用cookie顯示用戶? asp.net

 Response.Cookies("userInfo")("userName") = "s" 
     Response.Cookies("userInfo")("lastVisit") = DateTime.Now.ToString() 
     Response.Cookies("userInfo").Expires = DateTime.Now.AddDays(1) 
     Response.Redirect("default.aspx") 

,這對我的Default.aspx:

 If Not Request.Cookies("userName") Is Nothing Then 
      Label1.Text = Server.HtmlEncode(Request.Cookies("userName").Value) 
     End If 

     If Not Request.Cookies("userName") Is Nothing Then 
      Dim aCookie As HttpCookie = Request.Cookies("userName") 
      Label1.Text = Server.HtmlEncode(aCookie.Value) 
     End If 

,但我需要有:Response.Cookies("userInfo")("userName") = "s"是價值: textboxUser。如何才能做到這一點?

我想:Response.Cookies("userInfo")("userName") = "textboxUser.Text"

但後來它只是顯示,而不是用戶。

此外,當我填寫:Response.Cookies("userInfo")("userName") = "s"它不顯示「S」默認頁面上,但:Label

有人能指出我在往好的方向發展?

+0

你真的用引號包裝了「textboxUser.Text」嗎?如果是這樣,請嘗試刪除引號。 – Netricity 2013-05-07 14:42:47

+0

好啊!但它仍然在default.aspx上顯示Label。該代碼有什麼問題?當我這樣做:userInfo而不是userName我得到以下內容:'userName = Tester&lastVisit = 7-5-2013 16:48:04' – DiederikEEn 2013-05-07 14:44:19

回答

1

看起來你只設置了一個名爲userInfo的cookie,其中有一個名爲userName的項目。您應該檢查是否存在userInfo Cookie,然後獲取其中的項目,例如

Dim aCookie As HttpCookie = Request.Cookies("userInfo") 

If aCookie IsNot Nothing Then 
    Label1.Text = Server.HtmlEncode(aCookie("userName")) 
End If 

而且,當你只是顯示這個cookie的.Value,它返回的cookie中的所有鍵和它們的值,有點像查詢字符串。

+0

啊謝謝!不能相信我錯過了那個。 – DiederikEEn 2013-05-07 14:58:40