cookie是在页面请求发出的同时被IE获取的
所以在页面写入新的cookie值后,不会在同一页面将其读出,而读出的是原值
using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;
namespace test{ /// <summary> /// z3 的摘要说明。 /// </summary> public class z3 : System.Web.UI.Page { protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.Label Label2; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 test(); test2(); }
#region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load);
} #endregion
public void test() { string id=System.Web.HttpContext.Current.Request.QueryString["id"]; if(id!=null && id!="") { System.Web.HttpContext.Current.Response.Cookies["shopid"].Value=id; string hl=System.Web.HttpContext.Current.Request.Cookies["shopid"].Value; if(hl!=id) { this.Page.Response.Redirect("z3.aspx?id="+id); } } }
public void test2() { string id=System.Web.HttpContext.Current.Request.QueryString["id"]; if(Object.ReferenceEquals(System.Web.HttpContext.Current.Request.Cookies["shopid"],null)) { this.Label1.Text="wu"; } else if(System.Web.HttpContext.Current.Request.Cookies["shopid"].Value=="") { this.Label1.Text="wu"; } else { this.Label1.Text=System.Web.HttpContext.Current.Request.Cookies["shopid"].Value; //System.Web.HttpContext.Current.Response.Cookies["shopid"].Value=""; this.Label2.Text=id; } } }}