判斷瀏覽器是否接受Cookies_.Net教程
一種確定瀏覽器是否接受 Cookie 的方法是先編寫一個 Cookie,然后再嘗試讀取這個 Cookie。如果不能讀取這個 Cookie,則可以認為該瀏覽器不接受 Cookie。
我編寫了一個簡單的示例來說明如何測試 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如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-判斷瀏覽器是否接受Cookies
。