- 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;
- }