c# – 如何在asp.net中检查cookie是启用还是禁用?
发布时间:2020-12-15 04:05:21 所属栏目:百科 来源:网络整理
导读:protected void Page_Load(object sender,EventArgs e){ if (!IsPostBack) { if (Request.Browser.Cookies) { if (Request.QueryString["check"] == null) { HttpCookie cookie = new HttpCookie("testcookie"); Response.Cookies.Add(cookie); Response.Red
protected void Page_Load(object sender,EventArgs e) { if (!IsPostBack) { if (Request.Browser.Cookies) { if (Request.QueryString["check"] == null) { HttpCookie cookie = new HttpCookie("testcookie"); Response.Cookies.Add(cookie); Response.Redirect("Default.aspx?check=1"); } else { HttpCookie cookie = Request.Cookies["testcookie"]; if(cookie==null) { Label1.Text = "enable cookies"; } } } else { Label1.Text = "cookies not supported:"; } } } protected void Button1_Click(object sender,EventArgs e) { HttpCookie cookie = new HttpCookie("userinfo"); cookie["name"] = TextBox1.Text; cookie["email"] = TextBox2.Text; //cookie.Expires = DateTime.Now.AddDays(30); Response.Cookies.Add(cookie); Response.Redirect("Default2.aspx"); } 它无法正常工作. 解决方法
请参阅以下链接.
http://forums.asp.net/t/1044823.aspx?How+to+check+cookies+enabled+in+a+web+browser+ 唯一的检查方法是设置一个cookie然后重定向它,然后再次检查你是否能够访问它.所以尝试以上链接中提到的方法. protected void Page_Load(object sender,EventArgs e) { if (this.IsCookieDisabled()) errorMsgLabel.Text = Resources.Resource.BrowserDontSupportCookies; } private bool IsCookieDisabled() { string currentUrl = Request.RawUrl; if (Request.QueryString["cookieCheck"] == null) { try { HttpCookie c = new HttpCookie("SupportCookies","true"); Response.Cookies.Add(c); if (currentUrl.IndexOf("?") > 0) currentUrl = currentUrl + "&cookieCheck=true"; else currentUrl = currentUrl + "?cookieCheck=true"; Response.Redirect(currentUrl); } catch(Exception ex) { return false; } } if (!Request.Browser.Cookies || Request.Cookies["SupportCookies"] == null) return true; return false; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |