2009-07-27 26 views
0

給你一個奇怪的問題。當讀取嘗試進行時cookie未被設置?

我創建了一個控件,它將一條記錄插入數據庫並將cookie寫入用戶的機器。這裏是cookie寫的代碼片段:

protected void CreateCookie(Guid id, DateTime expires) 
{ 
    var oCookie = new HttpCookie("gsow"); 

    oCookie.Value = id.ToString(); 
    oCookie.Expires = expires; 

    HttpContext.Current.Response.Cookies.Add(oCookie); 
} 

很簡單,沒什麼奇特的。該ID是從將條目寫入數據庫的函數傳遞的,並且該ID是即時生成的。現在這裏是我的Cookie讀取代碼:

protected void Page_Load(object sender, EventArgs e) 
{ 

    var oCookie = HttpContext.Current.Response.Cookies["gsow"]; 

    output.Text = "I am Here<br />"; 

    if (oCookie != null) 
     output.Text += oCookie.Value; 
    else 
     output2.Text = "No Cookie."; 
} 

再次,非常簡單。以下是我已經採取和重複多次的步驟:

  1. 創建,推出第一頁的Cookie/DB項。
  2. 驗證的Cookie/DB條目存在(他們在這一步,通過Chrome瀏覽器的cookie管理器選中)
  3. 啓動第二頁

一旦我加載了第二頁,它應該吐出的ID我設置較早,cookie仍然存在,但它是Unset。

這裏是cookie的截圖後,我將第一頁:

alt text

而且一旦我將第二頁:從

alt text

所以,我所看到的,當我加載第二頁時,cookie的值/到期將被刪除。任何人有任何想法,爲什麼發生這種情況?

感謝

回答

3

據我所知,你應該使用檢索請求的對象,而不是Response對象的cookie。

+2

大聲笑我應該看到...謝謝:D – Anders 2009-07-27 17:35:01

相關問題