protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
AddCookie("tt");
}
}
private void AddCookie(string value,System.Web.UI.Page page)
{
HttpCookie Cookie = new HttpCookie("test");
Cookie.Value = value;
Cookie.Expires = DateTime.Now.AddDays(1);
page.Response.Cookies.Add(Cookie); }
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(Response.Cookies["test"].Value+"<br>");
Response.Write(Request.Cookies["test"].Value); }
为什么Response.Cookies[""].Value会清空 Cookie 的值
{
if(!Page.IsPostBack)
{
AddCookie("tt");
}
}
private void AddCookie(string value,System.Web.UI.Page page)
{
HttpCookie Cookie = new HttpCookie("test");
Cookie.Value = value;
Cookie.Expires = DateTime.Now.AddDays(1);
page.Response.Cookies.Add(Cookie); }
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(Response.Cookies["test"].Value+"<br>");
Response.Write(Request.Cookies["test"].Value); }
为什么Response.Cookies[""].Value会清空 Cookie 的值
不是被清空了,而不是根本就没到Request.Cookies里面去, 下次request才可以通过Request.Cookies拿得到。我还是不明白下次,我试了好多次都没拿到
{
if(!Page.IsPostBack)
{
AddCookie("tt");
}
}
private void AddCookie(string value)
{
HttpCookie Cookie = new HttpCookie("test");
Cookie.Value = value;
Cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(Cookie); }
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(Response.Cookies["test"].Value+" <br>");
Response.Write(Request.Cookies["test"].Value); }
{
Response.Write(Response.Cookies["test"].Value+" <br>");
//这个肯定是拿不到的, 应为Button_Click事件执行时page肯定是postback的,
//所以Page_load里面并没有执行 AddCookie("tt"); Response.Write(Request.Cookies["test"].Value);
//这个地方应该是拿得到的,应为postback时浏览器会把页面第一次load时写入的tt cookie传给服务器端
}
{
Response.Write(Response.Cookies["test"].Value+" <br>");
//这个肯定是拿不到的, 应为Button_Click事件执行时page肯定是postback的,
//所以Page_load里面并没有执行 AddCookie("tt"); Response.Write(Request.Cookies["test"].Value);
//这个地方应该是拿得到的,应为postback时浏览器会把页面第一次load时写入的tt cookie传给服务器端
}
jzywh:
你好
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(Response.Cookies["test"].Value+" <br>");
//这个地方是为了证明它会清空 Response.Write(Request.Cookies["test"].Value);
//这个不是应该而是根本拿不到.关键就在这...
//请指点....期待中..
}