判断浏览器是否接受Cookies
发布:liao | 发布时间: 2008年2月20日我编写了一个简单的示例来说明如何测试 Cookie 是否被接受。该示例包含两个页面。在第一个页面中,我编写了一个 Cookie,然后把浏览器重新定向到第二个页面。第二个页面尝试读取这个 Cookie,转而将浏览器重新定向到第一个页面,并向 URL 添加一个带有测试结果的查询字符串变量。
第一个页面的代码如下:
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,这样就能在执行测试后把重定向到该页面。
测试页面可以完全由代码组成,不需要包含控件。以下就是使用的代码:
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 AJAX客户端生命周期 (2008-2-20 1:41:6)
Excel 的网格控件 (2008-2-20 1:38:18)
在C#怎么样判断字符是否为中文 (2008-1-30 23:37:47)
.net分布式事务例子 (2008-1-30 23:30:33)
ASP.NET生成静态方法(C#) (2008-1-24 18:3:36)
asp.net中当服务器出错时显示指定的错误页面 (2008-1-20 22:30:36)
开发Excell控件 (2008-1-17 23:35:30)
c# .net自定义控件开发实例 (2008-1-17 23:26:43)
ASP.NET开发购物车方法 (2008-1-13 23:50:39)
ASP.NET中TreeView控件使用方法 (2008-1-13 23:47:50)
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。





