自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在ASP.NET中確定瀏覽器是否接受Cookie

開(kāi)發(fā) 后端
本文介紹如何在ASP.NET中確定瀏覽器是否接受Cookie。

在asp.net中一種確定瀏覽器是否接受 Cookie 的方法是先編寫(xiě)一個(gè) Cookie,然后再嘗試讀取這個(gè) Cookie。如果不能讀取這個(gè) Cookie,則可以認(rèn)為該瀏覽器不接受 Cookie。

我編寫(xiě)了一個(gè)簡(jiǎn)單的示例來(lái)說(shuō)明如何測(cè)試 Cookie 是否被接受。該示例包含兩個(gè)頁(yè)面。在***個(gè)頁(yè)面中,我編寫(xiě)了一個(gè) Cookie,然后把瀏覽器重新定向到第二個(gè)頁(yè)面。第二個(gè)頁(yè)面嘗試讀取這個(gè) Cookie,轉(zhuǎn)而將瀏覽器重新定向到***個(gè)頁(yè)面,并向 URL 添加一個(gè)帶有測(cè)試結(jié)果的查詢字符串變量。

在asp.net中檢查瀏覽器是否接受Cookie的***個(gè)頁(yè)面的代碼如下:

  1. protected System.Web.UI.WebControls.Label labelAcceptsCookies;  
  2.    
  3.   private void Page_Load(object sender, System.EventArgs e)  
  4.   ...{  
  5.      
  6.    if(!IsPostBack)  
  7.    ...{  
  8.     WriteCookie();  
  9.       
  10.    }  
  11.   }  
  12.  
  13.   private void  WriteCookie()  
  14.   ...{  
  15.    if( Request.QueryString["AcceptsCookies"] ==null)  
  16.    ...{  
  17.     Response.Cookies["TestCookie"].Value = "ok";  
  18.     Response.Cookies["TestCookie"].Expires = DateTime.Now.AddMinutes(1);  
  19.     Response.Redirect("CookieRead.aspx?redirect="+Server.UrlEncode(Request.Url.ToString()));  
  20.    }  
  21.    else 
  22.    ...{  
  23.     labelAcceptsCookies.Text = "接受 Cookie = "+Request.QueryString["AcceptsCookies"];  
  24.    }  
  25.   }  

***個(gè)頁(yè)面測(cè)試是否有回信,如果沒(méi)有,就搜索包含測(cè)試結(jié)果的查詢字符串變量 (AcceptsCookies)。如果沒(méi)有找到查詢字符串變量,則表示測(cè)試還沒(méi)有完成,代碼就寫(xiě)出一個(gè)名為“TestCookie”的 Cookie。寫(xiě)出 Cookie 之后,示例調(diào)用 Response.Redirect 來(lái)切換到測(cè)試頁(yè)面 (TestForCookies.aspx)。附加到測(cè)試頁(yè)面的 URL 的是名為 redirect 的查詢字符串變量,該變量中包含了當(dāng)前頁(yè)面的 URL,這樣就能在執(zhí)行測(cè)試后把重定向到該頁(yè)面。

測(cè)試頁(yè)面可以完全由代碼組成,不需要包含控件。以下就是用于測(cè)試瀏覽器是否接受Cookie使用的代碼:

  1. private void Page_Load(object sender, System.EventArgs e)  
  2.   ...{  
  3.    ReadCookie();  
  4.   }  
  5.   private void ReadCookie()  
  6.   ...{  
  7.    String redirect  = Request.QueryString["redirect"];  
  8.    String acceptsCookies ;  
  9.    // 是否接受 Cookie?  
  10.    if(Request.Cookies["TestCookie"] ==null)  
  11.     // 沒(méi)有 Cookie,因此不需要接受  
  12.     acceptsCookies = "0";  
  13.    else 
  14.    ...{  
  15.     acceptsCookies = "1";  
  16.     //刪除測(cè)試 Cookie  
  17.     Response.Cookies["TestCookie"].Expires = DateTime.Now.AddDays(-1);  
  18.    }  
  19.    Response.Redirect(redirect + "?AcceptsCookies=" +acceptsCookies, true);  
  20. }  

這樣就實(shí)現(xiàn)了在ASP.NET中確定瀏覽器是否接受Cookie。

【編輯推薦】

  1. 在ASP.NET中防止頁(yè)面多次提交的代碼實(shí)現(xiàn)
  2. ASP.NET服務(wù)器控件開(kāi)發(fā)之復(fù)合控件
  3. ASP.NET中的“三層結(jié)構(gòu)”簡(jiǎn)介
  4. ASP.NET中優(yōu)化性能方法26則
  5. 比較ASP.NET中的html控件和web控件
責(zé)任編輯:yangsai 來(lái)源: CSDN
相關(guān)推薦

2009-07-21 11:11:44

刪除CookieASP.NET

2009-07-24 17:04:57

ASP.NET中Coo

2009-07-27 10:22:16

ASP.NET中Coo

2009-07-30 13:33:55

ASP.NET中的co

2009-07-29 15:51:29

ASP.NET中執(zhí)行w

2009-08-06 15:56:40

ASP.NET Coo

2009-08-05 18:30:36

Session和CooASP.NET表單

2009-08-06 16:11:17

2009-07-23 16:44:51

AdRotator控件ASP.NET

2009-09-03 18:58:51

ASP.NETSession失效

2009-01-16 13:17:16

AjaxASP.NET.NET

2009-07-28 12:52:50

ASP.NET coo

2009-06-12 09:24:34

ASP.NET窗體ASP.NET MVC

2009-07-20 17:21:43

Session狀態(tài)ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-20 14:54:23

HttpWorkerRASP.NET

2009-07-27 09:31:06

定義JavaScripASP.NET

2009-07-27 15:25:40

aspx頁(yè)面ASP.NET
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)