本篇内容介绍了“怎么在ASP.NET中确定浏览器是否接受Cookie”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
在asp.net中一种确定浏览器是否接受 Cookie 的方法是先编写一个 Cookie,然后再尝试读取这个 Cookie。如果不能读取这个 Cookie,则可以认为该浏览器不接受 Cookie。
我编写了一个简单的示例来说明如何测试 Cookie 是否被接受。该示例包含两个页面。在***个页面中,我编写了一个 Cookie,然后把浏览器重新定向到第二个页面。第二个页面尝试读取这个 Cookie,转而将浏览器重新定向到***个页面,并向 URL 添加一个带有测试结果的查询字符串变量。
在asp.net中检查浏览器是否接受Cookie的***个页面的代码如下:
protected System.Web.UI.WebControls.Label labelAcceptsCookies; private void Page_Load(object sender, System.EventArgs e) ...{ if(!IsPostBack) ...{ WriteCookie(); } } private void WriteCookie() ...{ if( Request.QueryString["AcceptsCookies"] ==null) ...{ Response.Cookies["TestCookie"].Value = "ok"; Response.Cookies["TestCookie"].Expires = DateTime.Now.AddMinutes(1); Response.Redirect("CookieRead.aspx?redirect="+Server.UrlEncode(Request.Url.ToString())); } else ...{ labelAcceptsCookies.Text = "接受 Cookie = "+Request.QueryString["AcceptsCookies"]; } }
***个页面测试是否有回信,如果没有,就搜索包含测试结果的查询字符串变量 (AcceptsCookies)。如果没有找到查询字符串变量,则表示测试还没有完成,代码就写出一个名为“TestCookie”的 Cookie。写出 Cookie 之后,示例调用 Response.Redirect 来切换到测试页面 (TestForCookies.aspx)。附加到测试页面的 URL 的是名为 redirect 的查询字符串变量,该变量中包含了当前页面的 URL,这样就能在执行测试后把重定向到该页面。
测试页面可以完全由代码组成,不需要包含控件。以下就是用于测试浏览器是否接受Cookie使用的代码:
private void Page_Load(object sender, System.EventArgs e) ...{ ReadCookie(); } private void ReadCookie() ...{ String redirect = Request.QueryString["redirect"]; String acceptsCookies ; // 是否接受 Cookie? if(Request.Cookies["TestCookie"] ==null) // 没有 Cookie,因此不需要接受 acceptsCookies = "0"; else ...{ acceptsCookies = "1"; //删除测试 Cookie Response.Cookies["TestCookie"].Expires = DateTime.Now.AddDays(-1); } Response.Redirect(redirect + "?AcceptsCookies=" +acceptsCookies, true); }
“怎么在ASP.NET中确定浏览器是否接受Cookie”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。