2011-06-15 64 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的页面?