2011-06-15 62 views
0

我目前正在研究ASP.net c#web應用程序。我試圖使用一個cookie來存儲數據庫中的用戶ID號碼。ASP.net中的Cookie問題

我設置cookie時使用以下代碼的用戶日誌:

Response.Cookies["userID"].Value = reader.GetString("use_id"); 

當它的用戶登錄並一個的Response.Redirect到/software/index.aspx。

這個文件然後檢索cookie的使用下面的代碼

HttpContext.Current.Request.Cookies["userID"].Value 

值當我然後點擊一個鏈接到不同的頁面例如../accounts/index.aspx,我嘗試運行相同的代碼來獲取cookie的值,該值爲空。

我在做什麼錯。

感謝您提供的任何幫助。

+0

仔細檢查並確保所有請求的cookie,您使用的是Request.Cookie,而不是Response.Cookie。 – carlbenson 2011-06-15 14:15:58

回答

2

嘗試使用上的cookie收集Add方法,看看它是否有差別:

Response.Cookies.Add(new HttpCookie("userID") 
     { 
      Expires = DateTime.Now.AddDays(1), 
      Value = reader.GetString("use_id"), 
      HttpOnly = true 
     }); 

編輯:錯別字。

+0

我試過這個,但它仍然顯示爲空白,當我嘗試從另一個頁面訪問它和@Shiraz Bhaiji它是在同一個網站上它只是在不同的目錄中,即首先在/software/index.aspx中讀取,然後在../accounts/index.aspx中再次閱讀。 – Boardy 2011-06-15 14:18:23

+0

剛剛發現,如果我添加路徑=「/ pathtoapplication」工作正常,不需要expires參數。感謝您的幫助 – Boardy 2011-06-15 14:28:08

1

您是否在Cookie上設置了到期時間?

index.aspx是在同一個網站上給你的cookie的頁面?