我想在ASP.NET中使用HttpCookie
而不是Session
。
我在登录页面设置cookie并将其重定向到下一页时遇到问题。如果我尝试访问下一页中的cookie,则返回null。
登录页码
HttpCookie loginCookie = new HttpCookie("LoginInfo");
loginCookie["EmailID"] = txt_email.Text;
loginCookie.Domain = ConfigurationManager.AppSettings["SiteURL"];
loginCookie.Expires = DateTime.Now.AddDays(30);
loginCookie.Secure = false;
loginCookie.Domain = "/";
Response.Cookies.Add(loginCookie);
Response.Redirect("home.aspx");
首页代码
HttpCookie loginCookie = new HttpCookie("LoginInfo");
if (loginCookie["EmailID"] == null)
{
Response.Redirect("Default.aspx");
}
答案 0 :(得分:4)
您无需创建新的Cookie
,而是使用Request.Cookies
HttpCookie loginCookie = Request.Cookies["LoginInfo"];
Domain
请参阅:How to: Read a Cookie - MSDN
要做的另一件事是从第一个代码中删除设置HttpCookie loginCookie = new HttpCookie("LoginInfo");
loginCookie["EmailID"] = txt_email.Text;
//loginCookie.Domain = ConfigurationManager.AppSettings["SiteURL"]; //This one
loginCookie.Expires = DateTime.Now.AddDays(30);
loginCookie.Secure = false;
//loginCookie.Domain = "/"; //and This one
Response.Cookies.Add(loginCookie);
Response.Redirect("home.aspx");
,您要设置两次,只需注释掉这两行。
Domains