2016-09-21 54 views
1

我正在開發一個網站,其中用戶必須購買訂閱,我想要做的是,當用戶登錄到我的網站購買訂閱我保存他/她的電子郵件ID在cookie中,然後他/她被重定向到PayPal,付款後他回到我的網站的成功頁面,在那裏我檢索他的電子郵件ID的cookie更新數據庫,但第一次我得到空值,如果我再次重複相同的過程我可以讀取我存儲的cookie中的值。在我的本地主機上,這個問題還沒有到來,但是當我發佈網站時,這個問題就出現了。幫我出 的代碼我使用存儲cookie首次顯示空值,再次來到該頁面後,我可以看到cookie值。 Asp.net c#

Response.Cookies["useremail"].Value = Session["user_id"].ToString(); 
Response.Cookies["useremail"].Expires = DateTime.Now.AddDays(1); 

的代碼我使用檢索該cookie

if (Request.Cookies["useremail"] != null) 
     Label1.Text= Server.HtmlEncode(Request.Cookies["useremail"].Value); 

在瀏覽器我已經看到該cookie保存在cookie中。

+0

如果你已經存儲的值在Session然後在if語句你爲什麼不檢查'如果(string.IsNullOrEmpty(會話[ 「user_ID的」]。的ToString()))'代替.. ? – MethodMan

+0

如果任何人需要進一步的信息,我可以提供,我跟着這個鏈接使用cookie https://msdn.microsoft.com/en-us/library/ms178194.aspx –

+0

@MethodMan我也試過會議,當用戶在paypal付款後來到成功頁面,我的網站會話結束了,即使我沒有對會話時間進行任何限制,這就是爲什麼我放鬆會話對象中的信息。 –

回答

0

簡而言之,這是我期望在您的代碼中看到的內容,但我不這樣做,您可以嘗試此操作並將其替換爲適當的變量等以使您的代碼正常工作。 我在我的測試服務器上測試了它,它可以工作,因此您可以遵循相同的模式。

string myCookieName = "abcd"; 
HttpCookie aCookie = new HttpCookie(myCookieName); 
aCookie.Value = DateTime.Now.ToString(); 
aCookie.Expires = DateTime.Now.AddDays(1); 
Response.Cookies.Add(aCookie); 
+0

我感謝你的幫助,提供的代碼沒有爲我工作,但我現在嘗試不同的邏輯:)感謝隊友 –

+0

如果我看到你的完整代碼,我可以讓它工作,你正在傳遞的東西..也看看,以確保你沒有做全面回發,或者看看實施更新面板利用部分回發..乾杯.. – MethodMan

相關問題