如何在一个页面中设置cookie值并从asp.net网站的另一个页面中读取它

tec*_*log 8 c# asp.net cookies

这是我在Login.aspx中的代码

protected void LoginButton_Click(object sender, EventArgs e)
{
    HttpCookie loginCookie1 = new HttpCookie("loginCookie");
    Response.Cookies["loginCookie1"].Value = LoginUser.UserName;
    Response.Cookies.Add(loginCookie1);
}
Run Code Online (Sandbox Code Playgroud)

这是在shop.aspx

protected void btnAddCart_Click(object sender, EventArgs e)
{ 
     HttpCookie myCookie = new HttpCookie(dvProduct.DataKey.Value.ToString());
     myCookie["Category"] = dvProduct.DataKey["Category"].ToString();
     myCookie["Product"] = dvProduct.DataKey["Product"].ToString();
     myCookie["Quantity"] = txtQuantity.Text;
     myCookie["Price"] = dvProduct.DataKey["Price"].ToString();
     myCookie.Expires = DateTime.Now.AddDays(1d);
     Response.Cookies.Add(myCookie);
     Response.Redirect("ViewCart.aspx", true);
}
Run Code Online (Sandbox Code Playgroud)

我想从cookie中读取用户名的值(在login.aspx中设置的值

COL*_*OLD 15

你基本上需要请求cookie并不是真正重要的是你在这里的页面是关于cookie的解释

http://msdn.microsoft.com/en-us/library/ms178194.aspx

HttpCookie aCookie = Request.Cookies["loginCookie"];
string username = Server.HtmlEncode(aCookie.Value);
Run Code Online (Sandbox Code Playgroud)

  • @techblog:记得给你认为好的答案.这给了我们一个温暖的模糊感觉:P ..如果这个答案是你问题的解决方案,那么接受它......我喜欢这个+1. (3认同)

Ale*_*kov 5

你设置loginCookie的代码看起来很奇怪:

HttpCookie loginCookie1 = new HttpCookie("loginCookie"); 
Response.Cookies["loginCookie1"].Value = LoginUser.UserName; // <--- strange!!!!
Response.Cookies.Add(loginCookie1); 
Run Code Online (Sandbox Code Playgroud)

很可能你的cookie没有被发送到浏览器 - 请查看像Fiddler这样的HTTP调试器.